CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:ToukoP
Submission time:2023-11-10 19:21:25 +0200
Language:Rust
Status:READY
Result:70
Feedback
groupverdictscore
#1ACCEPTED69.63
Test results
testverdicttimescore
#1ACCEPTED0.01 s8.88details
#2ACCEPTED0.01 s9.25details
#3ACCEPTED0.01 s9details
#4ACCEPTED0.01 s8.38details
#5ACCEPTED0.01 s8.75details
#6ACCEPTED0.01 s9details
#7ACCEPTED0.01 s8.13details
#8ACCEPTED0.01 s8.25details

Code

use std::io::*;
use std::time::{SystemTime, UNIX_EPOCH};

pub const INPUT_COUNT: usize = 24;
pub const OUTPUT_COUNT: usize = 12;

pub const LEARNING_RATE: f64 = 0.012;

pub fn activation_function(x: f64) -> f64 {
    //1. / (1. + std::f64::consts::E.powf(-x))
    //x.tanh()
    x.max(0.)
}

pub fn inv_activation_function(x: f64) -> f64 {
    //f64::ln(x / (1. - x)) //.max(-10000.).min(10000.)
    //x.atanh()
    x.max(0.)
}

#[allow(dead_code)]
pub fn pseudo_rand() -> f64 {
    let start = SystemTime::now();
    let since_the_epoch = start
        .duration_since(UNIX_EPOCH)
        .expect("Time went backwards");
    #[allow(arithmetic_overflow)]
    const MAX: u128 = 1000000;
    // Randomish enough
    let res = ((since_the_epoch.as_nanos() * 23525623626 >> 2) % MAX) as f64 / MAX as f64;
    res % 1.
}

#[derive(Debug, Clone)]
pub struct DataPoint<const S: usize>(pub [f64; S]);

impl<const S: usize> DataPoint<S> {
    const MIN_VALUE: f64 = -38.;
    const MAX_VALUE: f64 = 38.;

    pub fn new(values: &[f64]) -> Self {
        let mut data_point = Self([0.; S]);
        data_point.0.clone_from_slice(values);
        let range = Self::MAX_VALUE - Self::MIN_VALUE;
        for i in 0..S {
            data_point.0[i] = (data_point.0[i] - Self::MIN_VALUE) / range
        }
        data_point
    }

    pub fn get(&self, i: usize) -> f64 {
        let range = Self::MAX_VALUE - Self::MIN_VALUE;
        self.0[i] * range + Self::MIN_VALUE
    }
}

// Layer of neural network with input and output count
#[derive(Debug, Clone, Copy)]
pub struct Layer<const I: usize, const O: usize> {
    pub weights: [[f64; I]; O],
    pub biases: [f64; O],
}

impl<const I: usize, const O: usize> Layer<I, O> {
    pub fn new() -> Self {
        Self {
            weights: [[0.; I]; O],
            biases: [0.; O],
        }
    }

    pub fn random() -> Self {
        let mut layer = Self::new();

        for i in 0..O {
            for j in 0..I {
                layer.weights[i][j] = (pseudo_rand() * 2. - 1.) / 100.;
            }
            layer.biases[i] = (pseudo_rand() * 2. - 1.) / 100.;
        }

        layer
    }

    pub fn propagate(&self, activation: &[f64; I]) -> [f64; O] {
        let mut result = [0.; O];

        for i in 0..O {
            let mut value = 0.;
            for j in 0..I {
                value += activation[j] * self.weights[i][j];
            }
            result[i] = activation_function(value + self.biases[i]);
        }

        result
    }

    pub fn back_propagate(
        &self,
        changes: &mut Self,
        activation: &[f64; I],
        actual_outcome: &[f64; O],
        desired_outcome: &[f64; O],
    ) -> [f64; I] {
        let mut desired_activation = activation.clone();

        let mut z = [0.; O];
        for i in 0..O {
            z[i] = self.biases[i];
            for j in 0..I {
                z[i] += activation[j] * self.weights[i][j];
            }
        }

        for i in 0..O {
            let dca = 2. * (actual_outcome[i] - desired_outcome[i]);
            let dzb = 1.;

            for j in 0..I {
                let daz = inv_activation_function(z[i]);
                let dzw = activation[j];
                let dza = self.weights[i][j];

                let dcw = dca * dzw * daz;
                let dcb = dzb * daz * dca;
                let dca2 = dza * daz * dca;

                changes.weights[i][j] -= dcw;
                changes.biases[i] -= dcb / I as f64;
                desired_activation[j] -= dca2
            }
        }
        desired_activation
    }

    pub fn apply_changes(&mut self, changes: Layer<I, O>, rate: f64) {
        for i in 0..O {
            for j in 0..I {
                self.weights[i][j] += changes.weights[i][j] * rate
            }
            self.biases[i] += changes.biases[i] * rate;
        }
    }
}

#[derive(Debug, Clone)]
pub struct NeuralNetwork<const I: usize, const O: usize, const H: usize, const L: usize> {
    pub input_layer: Layer<I, H>,
    pub hidden_layers: [Layer<H, H>; L],
    pub output_layer: Layer<H, O>,
}

impl<const I: usize, const O: usize, const H: usize, const L: usize> NeuralNetwork<I, O, H, L> {
    #[allow(dead_code)]
    pub fn new() -> Self {
        Self {
            input_layer: Layer::new(),
            hidden_layers: [Layer::new(); L],
            output_layer: Layer::new(),
        }
    }

    #[allow(dead_code)]
    pub fn random() -> Self {
        Self {
            input_layer: Layer::random(),
            hidden_layers: [Layer::random(); L],
            output_layer: Layer::random(),
        }
    }

    pub fn predict(&self, start_activation: &DataPoint<I>) -> DataPoint<O> {
        let mut activation = self.input_layer.propagate(&start_activation.0);
        for hidden_layer in self.hidden_layers {
            activation = hidden_layer.propagate(&activation);
        }
        DataPoint(self.output_layer.propagate(&activation))
    }

    pub fn train(
        &self,
        changes: &mut Self,
        start_activation: &DataPoint<I>,
        desired_outcome: &DataPoint<O>,
        batch_size: usize,
    ) -> f64 {
        let mut activations = [[0.; H]; L];
        for i in 0..L {
            let activation = if i == 0 {
                self.input_layer.propagate(&start_activation.0)
            } else {
                activations[i - 1]
            };

            activations[i] = self.hidden_layers[i].propagate(&activation);
        }

        let last_activation = if L > 0 {
            activations[L - 1]
        } else {
            self.input_layer.propagate(&start_activation.0)
        };

        let actual_outcome = self.output_layer.propagate(&last_activation);

        let desired_output_activation = self.output_layer.back_propagate(
            &mut changes.output_layer,
            &last_activation,
            &actual_outcome,
            &desired_outcome.0,
        );

        let mut desired_activations = [[0.; H]];

        for i in (0..L).rev() {
            let prev_desired_activation = if i == L - 1 {
                desired_output_activation
            } else {
                desired_activations[i]
            };
            let activation = if i == 0 {
                self.input_layer.propagate(&start_activation.0)
            } else {
                activations[i]
            };

            let desired_activation = self.hidden_layers[i].back_propagate(
                &mut changes.hidden_layers[i],
                &activation,
                &activations[i],
                &prev_desired_activation,
            );
            desired_activations[i] = desired_activation;
        }

        let _ = self.input_layer.back_propagate(
            &mut changes.input_layer,
            &start_activation.0,
            if L > 0 {
                &activations[0]
            } else {
                &last_activation
            },
            &(if L > 0 {
                desired_activations[0]
            } else {
                desired_output_activation
            }),
        );

        //println!("outcome: {:#?}", actual_outcome);
        //println!("Desired outcome: {:#?}", desired_outcome);
        let mut loss = 0.;
        for i in 0..O {
            let l = (actual_outcome[i] - desired_outcome.0[i]).powi(2);
            //println!("i: {} loss {}", i, l);
            loss += l;
        }
        loss / batch_size as f64
    }

    pub fn apply_changes(&mut self, changes: &Self, batch_size: usize) {
        self.input_layer
            .apply_changes(changes.input_layer, LEARNING_RATE / batch_size as f64);
        for i in 0..L {
            self.hidden_layers[i]
                .apply_changes(changes.hidden_layers[i], LEARNING_RATE / batch_size as f64)
        }
        self.output_layer
            .apply_changes(changes.output_layer, LEARNING_RATE / batch_size as f64);
    }
}

pub fn read_training_data() -> (Vec<DataPoint<INPUT_COUNT>>, Vec<DataPoint<OUTPUT_COUNT>>) {
    let mut input = String::new();
    stdin()
        .read_line(&mut input)
        .expect("Unexpected end of input");
    let days: i32 = input.trim().parse().unwrap();

    let mut input_data = Vec::new();
    let mut output_data = Vec::new();

    for _ in 0..days {
        let mut input = String::new();
        stdin()
            .read_line(&mut input)
            .expect("Unexpected end of input");

        let arr = input
            .split(" ")
            .map(|s| s.trim().parse().unwrap())
            .collect::<Vec<f64>>();

        input_data.push(DataPoint::new(&arr[..INPUT_COUNT]));
        output_data.push(DataPoint::new(&arr[INPUT_COUNT..]));
    }
    (input_data, output_data)
}

#[allow(dead_code)]
pub fn read_input_data() -> Vec<DataPoint<INPUT_COUNT>> {
    let mut input = String::new();
    stdin()
        .read_line(&mut input)
        .expect("Unexpected end of input");
    let days: i32 = input.trim().parse().unwrap();

    let mut data = Vec::new();

    for _ in 0..days {
        let mut input = String::new();
        stdin()
            .read_line(&mut input)
            .expect("Unexpected end of input");

        let arr = input
            .split(" ")
            .map(|s| s.trim().parse().unwrap())
            .collect::<Vec<f64>>();

        data.push(DataPoint::new(&arr[..INPUT_COUNT]));
    }
    data
}

#[allow(dead_code)]
pub fn main() {
    #[cfg(feature = "evaluate")]
    let (data, output_data) = read_training_data();
    #[cfg(not(feature = "evaluate"))]
    let data = read_input_data();

    let neural_net = get_neural_network();

    let question_mark_net = get_question_mark_network();

    #[cfg(feature = "evaluate")]
    let mut correct: i32 = 0;
    #[cfg(feature = "evaluate")]
    let mut incorrect: i32 = 0;

    #[cfg(feature = "evaluate")]
    let mut correct_distribution = [0; OUTPUT_COUNT];
    #[cfg(feature = "evaluate")]
    let mut error_distribution = [0; OUTPUT_COUNT];

    #[cfg(feature = "evaluate")]
    let mut correct_diff = 0.;
    #[cfg(feature = "evaluate")]
    let mut incorrect_diff = 0.;
    #[cfg(feature = "evaluate")]
    let mut question_marks = 0;

    #[cfg(feature = "evaluate")]
    let mut correct_q_marks = 0;
    #[cfg(feature = "evaluate")]
    let mut incorrect_q_marks = 0;

    for i in 0..data.len() {
        let result = neural_net.predict(&data[i]);

        let mut input_buffer = [0.; 36];

        input_buffer[..INPUT_COUNT].clone_from_slice(&data[i].0);
        input_buffer[INPUT_COUNT..].clone_from_slice(&result.0);

        let question_mark_res = question_mark_net.predict(&DataPoint(input_buffer));

        for j in 0..OUTPUT_COUNT {
            // False to when testing the actual prediction network
            let skip = question_mark_res.0[j] > 0.5155;

            #[cfg(feature = "evaluate")]
            {
                let diff = ((result.get(j.max(1) - 1) + result.get((j + 1).min(OUTPUT_COUNT - 1)))
                    / 2.
                    - result.get(j))
                .abs();
                print!("{} ", (result.get(j) * 100.).round() / 100.);
                let dist = (result.get(j) - output_data[i].get(j)).abs();

                if skip {
                    question_marks += 1;
                    if dist > 2.05 {
                        correct_q_marks += 1;
                    } else if dist < 0.75 {
                        incorrect_q_marks += 1;
                    }
                } else {
                    if dist < 0.75 {
                        print!("+ ");
                        correct += 1;
                        correct_distribution[j] += 1;
                        correct_diff += diff;
                    } else if dist > 2.05 {
                        print!("! ");
                        error_distribution[j] += 1;
                        incorrect += 1;
                        incorrect_diff += diff;
                    }
                    print!("{} ", (output_data[i].get(j) * 1000.).round() / 1000.);
                    println!("");
                }
            }

            if skip {
                print!("? ");
                #[cfg(feature = "evaluate")]
                {
                    print!("{} ", (result.get(j) * 100.).round() / 100.);
                }
            } else {
                #[cfg(not(feature = "evaluate"))]
                print!("{} ", result.get(j));
            }
        }
        #[cfg(feature = "evaluate")]
        println!("");
    }

    #[cfg(feature = "evaluate")]
    println!("correct distribution: {:#?}", correct_distribution);
    #[cfg(feature = "evaluate")]
    println!("error distribution: {:#?}", incorrect_diff);

    #[cfg(feature = "evaluate")]
    println!("correct diff: {:#?}", correct_diff / correct as f64);
    #[cfg(feature = "evaluate")]
    println!("incorrect diff: {:#?}", incorrect_diff / incorrect as f64);
    #[cfg(feature = "evaluate")]
    println!("question marks: {:#?}", question_marks);
    #[cfg(feature = "evaluate")]
    println!(
        "correct question marks: {:#?}, incorrect question marks: {:#?}, ",
        correct_q_marks, incorrect_q_marks
    );

    #[cfg(feature = "evaluate")]
    println!(
        "Correct: {} / {}, Incorrect: {} / {}, score: {}",
        correct,
        data.len() * OUTPUT_COUNT,
        incorrect,
        data.len() * OUTPUT_COUNT,
        25. * ((correct - incorrect) as f64 / data.len() as f64)
    );
}

pub fn get_neural_network() -> NeuralNetwork<INPUT_COUNT, OUTPUT_COUNT, 36, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    -0.006746986588669736,
                    -0.009014266652303917,
                    -0.0007451666762135255,
                    0.006342633373192264,
                    0.0027298735690419814,
                    0.009817673852109085,
                    -0.0019132257273602965,
                    0.0051745747281944955,
                    -0.006556324799306717,
                    0.0005314755032777222,
                    0.008800575752433806,
                    -0.004111624073289646,
                    -0.007724403929998394,
                    -0.0006366038540770546,
                    0.00763249607248482,
                    -0.005279704217124032,
                    0.002989395313221047,
                    -0.009922805272174274,
                    -0.002835005931779126,
                    0.005434093416031036,
                    -0.007478107236401326,
                    0.008909132095923724,
                    -0.004003068640332424,
                    0.004266030512601896,
                ],
                [
                    -0.44036724125208454,
                    -0.2797412490083827,
                    -0.17591880536467722,
                    -0.15680552202416997,
                    -0.14584703692606665,
                    0.02464105996179666,
                    0.010256968198738017,
                    0.05126235401433671,
                    0.027289903767786762,
                    0.0008946043614722157,
                    -0.04175623884993678,
                    -0.05919158990423597,
                    -0.07793502371257117,
                    -0.0067974942440659405,
                    0.12018122192140689,
                    0.2382665665362191,
                    0.14282239234088148,
                    0.0737950118568948,
                    -0.011793228818122758,
                    -0.22334299215258022,
                    -0.3745624229285746,
                    -0.2325499649225885,
                    0.29964705905847244,
                    2.0097535603000223,
                ],
                [
                    0.003988214065538124,
                    0.012076959958384908,
                    0.0008048062031606355,
                    0.015402194229029385,
                    0.0015280427434335919,
                    0.007252085474908894,
                    -0.0061682366081676505,
                    0.0011391596287868276,
                    0.00945858253206404,
                    -0.003185193755728234,
                    0.004930925680954261,
                    0.00028117428371370853,
                    0.008363104621317058,
                    -0.003955871416988509,
                    0.0046607342743555415,
                    0.011473787934980734,
                    -0.0036382742305343684,
                    0.0044355096643065445,
                    -0.006150980476692547,
                    0.012674736914579028,
                    0.0033716150884663637,
                    0.017902798316798453,
                    0.034643072976146855,
                    0.04021241116996772,
                ],
                [
                    -0.006564445565697799,
                    0.0017046447011766312,
                    -0.0019081390220672427,
                    0.005179658194080698,
                    -0.007732545055587314,
                    0.0005365549842782301,
                    0.00762435342663522,
                    -0.004106545908796469,
                    0.002981245236070128,
                    -0.008749649726378724,
                    -0.0016618475261966435,
                    -0.00527460814141795,
                    0.0018131943278634184,
                    -0.009917698247384886,
                    -0.0028299048038565038,
                    0.005439191359419188,
                    -0.007473010922716006,
                    0.0007960856473408172,
                    0.007883877161485224,
                    0.004271095647663451,
                    -0.008641109762082155,
                    -0.00037200988823940707,
                    0.00671578644448233,
                    -0.005015106427413544,
                ],
                [
                    -0.00965819643234242,
                    -0.0013890964159235552,
                    -0.006183156440969015,
                    0.0020859434970898717,
                    0.00917374334601237,
                    -0.002557156869449866,
                    0.004530642867693577,
                    -0.007200257403056705,
                    -0.0001124576537122779,
                    0.008156642169794396,
                    0.0033625620354106383,
                    -0.008368338069744328,
                    -0.0012805381514468372,
                    0.0069885617876349945,
                    -0.005923638224191524,
                    0.0023454618712013316,
                    0.009433262106518858,
                    -0.0022976375779393786,
                    -0.007091697214534005,
                    0.0011774031495636083,
                    0.008265203479079159,
                    -0.003465696239455321,
                    0.0036221040235637656,
                    -0.008108795736298791,
                ],
                [
                    -0.9190209159516507,
                    -0.6450395417181168,
                    -0.4646820542282987,
                    -0.4267987216056822,
                    -0.2692516573176664,
                    0.06342531527245934,
                    0.2950392007379275,
                    0.49024773981032566,
                    0.6057870601377741,
                    0.6298741551282641,
                    0.5914753454367228,
                    0.6427730415252573,
                    0.6589633467374223,
                    0.8407172150718845,
                    1.0751432150136353,
                    1.2495257165557745,
                    0.9916042818481361,
                    0.5668724345444398,
                    0.26205868892787526,
                    -0.05281890973729224,
                    -0.15191025732642593,
                    0.1661967967739054,
                    0.9767834652962147,
                    2.7424827828980747,
                ],
                [
                    0.004154380759685555,
                    0.00054162076473123,
                    0.007629420762916333,
                    -0.004101479256544262,
                    0.0029863206175647907,
                    -0.008744579588318344,
                    -0.0016567798640266436,
                    0.006612319866047457,
                    -0.006299880406252018,
                    -0.009912660597061175,
                    -0.0028248607533275056,
                    0.005444239123623493,
                    -0.0074679609765623415,
                    0.000801138946429314,
                    0.00788893891917154,
                    -0.0038419610036987068,
                    0.003245839200074572,
                    -0.0003669205010032827,
                    0.006720879815267916,
                    -0.0050100198893737805,
                    0.0020777803762484864,
                    -0.009653119375202617,
                    -0.0025653191299702146,
                    0.004522481146826952,
                ],
                [
                    0.01077492893834531,
                    -0.0006141462663861991,
                    0.006617174123611476,
                    -0.005245580518658208,
                    0.0017406833443151827,
                    0.010151319863438908,
                    -0.0027450396492642846,
                    0.005679425311850294,
                    0.001068848454732439,
                    0.009437203426075727,
                    -0.003497425082581157,
                    0.004867945237019645,
                    0.011986006857191618,
                    0.0004753569198278802,
                    0.007817077082489882,
                    -0.0037599933366358664,
                    0.011148862581737917,
                    -0.0019320186542260928,
                    0.006568030582052675,
                    -0.006126898205689061,
                    0.002516376967793874,
                    0.01042991823992817,
                    8.412358017826641e-5,
                    0.00985294935308545,
                ],
                [
                    0.007171864000869709,
                    -0.004369639883476952,
                    0.0028886401426411676,
                    0.01124201596450612,
                    -0.001376743830558149,
                    0.007279037571421264,
                    -0.005465059746200939,
                    0.010808425022912828,
                    -0.0022921055915413506,
                    0.0058107126760006435,
                    -0.007265559816609989,
                    0.0009283674316772118,
                    0.00796185735017895,
                    -0.004894034631845421,
                    0.0036298155110653257,
                    0.011123956958291216,
                    0.007863987640764394,
                    -0.003844912363512655,
                    0.003066008781404618,
                    0.00983584226684394,
                    -0.002212942941205049,
                    0.0046888815307830475,
                    -0.007121579903392917,
                    0.00021459365316136404,
                ],
                [
                    0.002990969592409866,
                    -0.008739901399119948,
                    -0.0016520993516704451,
                    0.006616990038368151,
                    -0.006295213912081825,
                    0.001973892528255417,
                    0.009061683592380684,
                    0.005448976479244203,
                    -0.007463192484393455,
                    -0.00037539534519997044,
                    0.00789370113303428,
                    -0.005018477666532173,
                    0.0032506200865403062,
                    -0.00966156929340918,
                    -0.0013924625122187415,
                    -0.006186549284001895,
                    0.002082540554058747,
                    0.009170277448622808,
                    -0.0025606428496542737,
                    0.004527144521699135,
                    -0.007203768376607199,
                    -0.00011597054446241068,
                    0.00815311893458282,
                    0.0033590598389911506,
                ],
                [
                    0.0005118405501814713,
                    0.007657675975396126,
                    -0.004106356618283827,
                    0.004014357072117953,
                    -0.00884151083961016,
                    -0.0015990336567200062,
                    -0.005017679196983098,
                    0.0021911936756424263,
                    0.010645856335411617,
                    -0.00219297544913757,
                    0.006111433182215262,
                    -0.006736041724475694,
                    0.0015985863849948539,
                    0.008785666278165134,
                    0.00531002244261735,
                    -0.00753245653047694,
                    0.0006326621612768924,
                    0.007443868176498684,
                    -0.004487582815850676,
                    0.002437390317857727,
                    0.010507969201414937,
                    -0.002656993241660425,
                    -0.0066386244192202645,
                    -0.00016255476510562637,
                ],
                [
                    -0.0031947821591558783,
                    0.003892700081891743,
                    -0.007838386647559797,
                    -0.000750404066132315,
                    0.007518655120342532,
                    -0.005394393816312422,
                    -0.009006046782136895,
                    -0.001917483491298318,
                    0.006352779908057694,
                    -0.006558886243799412,
                    0.0017093090981980838,
                    0.008796656445398562,
                    -0.0029349115443550867,
                    0.004152923876378857,
                    0.0005396596613471365,
                    0.0076273380000804105,
                    -0.0041032301889766375,
                    0.0029855695560526857,
                    -0.008744864409658175,
                    -0.001656822040488682,
                    0.006610531527993006,
                    -0.006301262438888728,
                    -0.009914397418556391,
                    -0.002828320389113701,
                ],
                [
                    -0.006101051110949496,
                    0.001024250317447652,
                    0.009332547257612345,
                    -0.0035613976492035442,
                    0.004759288450790724,
                    4.055939761189432e-5,
                    0.008333298018738413,
                    -0.004604515963808923,
                    0.0036274815047196538,
                    -0.009313191929442282,
                    -0.0010706563556029875,
                    0.006007960094434147,
                    -0.005734999598556582,
                    0.009486707487992938,
                    -0.002185887049137083,
                    0.004988336455727969,
                    -0.006675614137539765,
                    0.0004273638913760691,
                    0.008672379730960866,
                    -0.004304436722017714,
                    0.0027207469948981396,
                    -0.000917464587326624,
                    0.006179465630009933,
                    -0.005443099948187797,
                ],
                [
                    0.009742172220547397,
                    -0.001998186661034799,
                    0.006276649454797039,
                    -0.0066177332148064935,
                    0.00978626593743874,
                    -0.00312867237069274,
                    0.005110151457790105,
                    -0.007879982377702727,
                    0.0002992210277549249,
                    0.007334015966483003,
                    -0.0044328534904752815,
                    0.0026245060659957084,
                    -0.0010072966600212598,
                    0.006059813347766791,
                    -0.0056611326004358566,
                    0.001485731801448566,
                    0.008685915241331133,
                    -0.0029576828636090464,
                    0.0041760054873803,
                    -0.007525206858535601,
                    -0.00042665389241417005,
                    -0.00404750195459583,
                    0.0030125945349654655,
                    -0.008782537909659912,
                ],
                [
                    0.012509001983211759,
                    0.0011883855405418948,
                    0.01017569681730032,
                    0.01796286484921605,
                    0.013027650157543124,
                    0.0012399754786031017,
                    0.0070542225171008185,
                    0.01401321912017155,
                    -0.0007764363181813122,
                    0.006582180777747402,
                    -0.007127870426667323,
                    0.000572388058956551,
                    -0.004763873861526558,
                    0.0033115212319061397,
                    -0.009345311056607701,
                    -8.191812190902736e-5,
                    0.008185745513249956,
                    -0.0018343692247611188,
                    0.006606337028216997,
                    0.015503920595530527,
                    0.011892882497189684,
                    0.002877616043470235,
                    0.014738154449246525,
                    0.03233006956910437,
                ],
                [
                    0.00324782206065682,
                    -0.00848307790101945,
                    -0.0013952778533513697,
                    -0.005008037834814822,
                    0.002079762124715985,
                    -0.009651137964096728,
                    -0.0025633381701781347,
                    0.005705761551990695,
                    -0.00720643875132286,
                    0.0010626610582783879,
                    0.008150460902024748,
                    0.004537680789240672,
                    -0.00837451930408126,
                    -0.00010541935444840592,
                    0.006982380702275219,
                    -0.00474851910009153,
                    0.0023392812000256774,
                    -0.009391618468129808,
                    -0.002303818173492816,
                    -0.005916577924331588,
                    0.0011712223320402588,
                    0.009440322620286499,
                    -0.0034718770215612423,
                    0.004797223437207331,
                ],
                [
                    0.000613429186718389,
                    0.008816698615385265,
                    0.003925429790351421,
                    -0.007893661029913793,
                    -0.0009004175058296559,
                    0.007247044220209437,
                    -0.005624611658473198,
                    0.0028014246328899096,
                    0.010129523759186597,
                    -0.0014890920522808108,
                    -0.006162946005053103,
                    0.0021756202073828215,
                    0.009321509809070596,
                    -0.0023937018821565494,
                    0.0045807115601763995,
                    -0.007404442981150489,
                    -0.0005909658932177132,
                    0.007489435188720494,
                    -0.005476473315025632,
                    -0.009019984504101106,
                    -0.0018866863879665983,
                    0.006293770228669955,
                    -0.006880122437831665,
                    0.0007722527775562098,
                ],
                [
                    -0.0025034894850259354,
                    0.005778708382479223,
                    0.0010077530687669612,
                    0.009305646544556482,
                    -0.0034952876305442155,
                    0.004890365987873166,
                    -0.00794318510871832,
                    0.00030234861898672583,
                    0.007358640232558653,
                    -0.004403677508245503,
                    -0.009231664056186804,
                    -0.0009811092883701543,
                    0.00610785490457516,
                    -0.005619165679238224,
                    0.0015213718450872331,
                    0.009883530111982567,
                    -0.002913314802628293,
                    0.005360015822006892,
                    0.0004885644367189579,
                    0.008654476949996083,
                    -0.004392282246100755,
                    0.00370492191574962,
                    -0.009446100797805897,
                    -0.0027136506722014063,
                ],
                [
                    -0.00603378502478864,
                    -0.009646485380524789,
                    -0.00255862334538686,
                    0.005710507123255932,
                    -0.00720164392469563,
                    0.0010674281318873425,
                    0.008155220244798122,
                    -0.0035757044193294543,
                    0.00351217392786715,
                    -0.00010063583741050093,
                    0.006987175065344594,
                    -0.0047436905012658275,
                    0.0023440526205334455,
                    -0.009386979777624488,
                    -0.002299178244780877,
                    0.005969911706958599,
                    -0.0069423245098185924,
                    0.008263598073584568,
                    -0.003467270985187492,
                    0.0036205592189698134,
                    -0.008110275216881608,
                    -0.0010225037594298015,
                    0.007246604789943001,
                    -0.005665663019345147,
                ],
                [
                    0.0016822304023903088,
                    0.01019284385701193,
                    -0.00018845760064092892,
                    0.008726543508135948,
                    0.018241159257990032,
                    0.009553945937821344,
                    0.017795988745210475,
                    0.0046572257777079285,
                    0.009883465304715237,
                    0.004802159048470247,
                    0.010509840735037869,
                    -0.0017943881435969098,
                    0.004904233421934777,
                    0.012437797864746681,
                    0.0029591259713624227,
                    0.013738852281775842,
                    0.02548270258233759,
                    0.021570566786246876,
                    0.008821455657016026,
                    0.013623056349624577,
                    0.019326675653658393,
                    0.004601004110695016,
                    0.01159735722561128,
                    -0.0010130648835229487,
                ],
                [
                    -0.0037527060377217786,
                    0.0033417331023326436,
                    -0.008393342698431562,
                    -0.0013237972562724532,
                    0.006910640641504849,
                    -0.006023110161098147,
                    0.002219096139284668,
                    0.009291120947509343,
                    0.005660864640419263,
                    -0.007257632000997589,
                    0.0009998601470796262,
                    0.008079446041419186,
                    -0.003661549856154111,
                    0.003414487261556231,
                    -0.00831536455334569,
                    -0.0012191103629199784,
                    -0.004827504402914984,
                    0.0022760890248964875,
                    -0.009415542331698156,
                    -0.0022900539915458266,
                    0.006022217883000178,
                    -0.006831479066379579,
                    0.0015079390043852684,
                    0.008687452338954146,
                ],
                [
                    -0.0061285986270854164,
                    0.0013618962987485982,
                    0.00967016652838133,
                    -0.0036741679440088167,
                    0.004355093773160843,
                    -0.008380144858834069,
                    0.00013645513225666193,
                    -0.004172791259117973,
                    0.004718111243419429,
                    0.01208765546315006,
                    0.0004582831953519094,
                    0.007766579579299001,
                    -0.00384379071814359,
                    0.0036174411633478573,
                    0.01224584261998525,
                    0.007453299471241408,
                    -0.005130503255456362,
                    0.0010121789077760315,
                    0.008978075759241456,
                    -0.004152703273764534,
                    0.004073540072750863,
                    0.011603545376375821,
                    0.0008016730371015189,
                    0.009930110225629942,
                ],
                [
                    0.009810619898629523,
                    -0.0031011238696983627,
                    0.005168803530074504,
                    -0.007743606909050485,
                    0.0005253905818900757,
                    0.0076131279025140825,
                    -0.004118669586679841,
                    -0.008913354419499604,
                    -0.000645407197155114,
                    0.006441271480238969,
                    -0.005289867926692688,
                    0.0017978533718727206,
                    0.010066715970088565,
                    -0.0028452784106726956,
                    0.005424028515627153,
                    0.0006308773360135992,
                    0.008900931813862648,
                    -0.004010502281233989,
                    0.004259650014850687,
                    -0.008652249230530424,
                    -0.00038319623895232677,
                    0.00670460492390425,
                    -0.00502569770479387,
                    -0.009817853688808177,
                ],
                [
                    0.014917685454309758,
                    0.00229914925372042,
                    0.011406832936560269,
                    0.019534488395411064,
                    0.007491374840479498,
                    0.01408909459588762,
                    0.008548716850663213,
                    0.013880179170404199,
                    -0.00025128850927439903,
                    0.005705329677844142,
                    -0.006965787276422247,
                    -0.0006305561085702932,
                    0.006939411962613361,
                    -0.006390832004737702,
                    -0.009993753279366796,
                    -0.002030395516985219,
                    0.007681414320010187,
                    -0.0027492932406239703,
                    0.007547398599751938,
                    0.015739343026079832,
                    0.004491890323517408,
                    0.016000478543917913,
                    0.01673711475915843,
                    0.03565251135436473,
                ],
                [
                    0.00234126319900792,
                    -0.009389636743874446,
                    -0.0011205366859977502,
                    0.005967263341069591,
                    -0.005763636565574677,
                    0.009442303610781314,
                    -0.0022885962318541795,
                    0.004799203893059851,
                    -0.006931696024554763,
                    0.00015610406845365532,
                    0.008425204123846558,
                    -0.004486995806042377,
                    0.0037821042501266925,
                    -0.0010119756700173231,
                    0.007257124470077563,
                    -0.005655075396047097,
                    0.0014327246267149887,
                    0.009701824567859917,
                    -0.0032103754525130324,
                    0.0050587245499766256,
                    -0.007853475367644951,
                    0.00041562481950508306,
                    -0.004378434895623326,
                    0.00389066550684855,
                ],
                [
                    0.010572537540124924,
                    0.019931754606658844,
                    0.009862210475213063,
                    0.01820487715127674,
                    0.005176114391206715,
                    0.01935065267099381,
                    0.003927608276017496,
                    0.008330468212499808,
                    0.012949487684062013,
                    -0.0016009159191023262,
                    0.003980204726395802,
                    -0.00872730586995876,
                    -0.002795389466310882,
                    -0.006615455077632973,
                    0.0009726895161424519,
                    -0.009059708431027012,
                    -0.0004220509800658025,
                    0.011820582067351378,
                    0.003148232717061301,
                    0.014122327674566004,
                    0.025296865717619976,
                    0.029730845293878774,
                    0.030084391282250836,
                    0.06338931039274523,
                ],
                [
                    -0.003802055244984535,
                    0.004464231524126732,
                    -0.008449834906795453,
                    -0.00018537579219531756,
                    -0.004984882885101949,
                    0.0032850186105420876,
                    -0.00963384354347644,
                    -0.0013724346512110814,
                    0.005708300820404323,
                    -0.006024641349216769,
                    0.0010644657990140716,
                    0.009332962877683443,
                    0.004539523793743938,
                    -0.007192653279834559,
                    -0.00010236417347160417,
                    0.008169697810666638,
                    -0.004741339650760221,
                    0.003531734643310535,
                    -0.00937678441596841,
                    -0.001103527825400603,
                    -0.005891546131827698,
                    0.002385302232293513,
                    0.009482760472824061,
                    -0.0022400125559129923,
                ],
                [
                    -0.0068010998180238445,
                    0.001461196584182211,
                    0.008540446671928126,
                    0.00492152099178006,
                    -0.007991633872357637,
                    0.00027097194443682774,
                    0.007362753380097823,
                    -0.004360984431374833,
                    0.002740266405693662,
                    -0.00898735186902487,
                    -0.0018965662899917718,
                    0.006372993109011243,
                    0.0015863838842665446,
                    0.009853146502181416,
                    -0.0030702889311305477,
                    0.005181243205632941,
                    -0.007739048999096216,
                    0.0005224737495887914,
                    0.007603726013126928,
                    -0.004118187121391179,
                    -0.008912518822109208,
                    -0.0006673327817047984,
                    0.0063693899528638066,
                    -0.00547074245976503,
                ],
                [
                    0.009262136222589885,
                    0.02838296408310435,
                    0.08895743074514792,
                    0.12462140790659774,
                    0.10143975365298016,
                    0.09602370514817937,
                    0.030509447356588476,
                    -0.02348476706837973,
                    -0.11149392968729366,
                    -0.13471672714524444,
                    -0.1843920515350602,
                    -0.21362330804325955,
                    -0.2346658578937786,
                    -0.22429286181738645,
                    -0.20811730334901746,
                    -0.14736126013948794,
                    -0.13111532616989055,
                    -0.10051136318538541,
                    -0.05733386626251196,
                    -0.07094382711641757,
                    0.0013597936764943675,
                    0.21594823137898006,
                    0.6562428182552769,
                    1.5046762940049903,
                ],
                [
                    0.03087843734860955,
                    0.028631985193909984,
                    0.03687986763985806,
                    0.05598069546954673,
                    0.07379771572743506,
                    0.07765822748918315,
                    0.08104170470667416,
                    0.07360198805958701,
                    0.035198528824192,
                    0.028836902063549046,
                    0.010945713372325064,
                    0.011170853767131866,
                    -0.008470009501518685,
                    -9.80843680464861e-5,
                    -0.00028512443049112467,
                    0.033729268359363594,
                    0.0651370474797362,
                    0.06770482740489663,
                    0.083819084968793,
                    0.06022874219415434,
                    0.061486463672328746,
                    0.06432178062685971,
                    0.11027952137796389,
                    0.2112179147261348,
                ],
                [
                    0.008703513147432342,
                    0.0072582217920466666,
                    0.0160021049561688,
                    0.004475171430344715,
                    0.011427992979288605,
                    0.0011659025067428219,
                    0.0077468840172743225,
                    0.015500309461290768,
                    0.0012732256135935549,
                    0.008751365315586247,
                    0.002775753845563429,
                    0.010689834340894565,
                    -0.002654795031680357,
                    0.005404387676809622,
                    0.015724290135634585,
                    0.005180987659834486,
                    0.013237718953393287,
                    0.019948938110733457,
                    0.016930495865374647,
                    0.003907562867724632,
                    0.013732717157439844,
                    0.026524499665622855,
                    0.02564851540151025,
                    0.05452216653173882,
                ],
                [
                    0.0009035826675958628,
                    -0.002722418292811121,
                    0.004353741641159741,
                    -0.007411754681528308,
                    -0.0003754596366907451,
                    0.007874566380198445,
                    -0.0050805567071782924,
                    0.0031527606380629073,
                    -0.009805679071818356,
                    0.005400083247927093,
                    -0.006334459519275436,
                    0.0007482492446523394,
                    0.009017132922046159,
                    -0.0039045121060802385,
                    0.004386579741481411,
                    -0.008485472046234177,
                    -0.00018279534443288356,
                    -0.004923627808363938,
                    0.0034269783732788907,
                    -0.009424165634136838,
                    -0.0010860007126990744,
                    0.006079845342536799,
                    -0.005565598219850804,
                    0.001620963943130147,
                ],
                [
                    0.005640397115511178,
                    -0.007269193475134423,
                    0.0010013834438496842,
                    0.00927727351705419,
                    -0.003625851752291831,
                    0.003466913349710956,
                    -0.008257754164827229,
                    -0.0011655359156971532,
                    -0.00477084974465832,
                    0.002315947343758653,
                    -0.009416662041798215,
                    -0.002329577000075109,
                    0.005937141188885198,
                    -0.006974682147680643,
                    0.001288286578085167,
                    0.008369219372520657,
                    0.004753033817129289,
                    -0.008165216042514606,
                    9.527257670269342e-5,
                    0.007174811678139773,
                    -0.0045670754962349345,
                    0.0025100217212258987,
                    -0.00923317596061174,
                    -0.00215900391495667,
                ],
                [
                    -0.42638020969615253,
                    -0.34863321597502656,
                    -0.34504284045455846,
                    -0.3836334255380426,
                    -0.30682540871405156,
                    -0.1758845492788952,
                    -0.01160779043480772,
                    0.07461548842777348,
                    0.19858246767424959,
                    0.250617394962426,
                    0.27104702073288195,
                    0.2938942445638829,
                    0.34256477535468244,
                    0.4071631038965888,
                    0.4736589608006998,
                    0.4990084187721829,
                    0.4154850907295257,
                    0.2221078225717027,
                    0.0549240634725874,
                    -0.02937837693369713,
                    -0.12198982883324483,
                    -0.19580201112842674,
                    -0.32404540173104246,
                    -0.708363660365267,
                ],
                [
                    0.02996267979304968,
                    0.039392754132661564,
                    0.03204478268795849,
                    0.04299020327687375,
                    0.026809914780313433,
                    0.029974709507441993,
                    0.027628861851268127,
                    0.01654788121522299,
                    0.015319283245669769,
                    -0.0013712493681144688,
                    0.003244505548829768,
                    -0.012359280079375475,
                    -0.007270852766465776,
                    -0.0010982099644553389,
                    -0.012565837969594092,
                    -0.01479209067591348,
                    -0.0048859211059328065,
                    0.011244248629217454,
                    0.009533886414612943,
                    0.02215157921649726,
                    0.040428928459549665,
                    0.0490317038753121,
                    0.09429113658079342,
                    0.1609662295814235,
                ],
                [
                    -0.0035671649935965287,
                    0.0035199227352265233,
                    -0.008211296509228421,
                    -0.001123722920774704,
                    0.0071453865855409145,
                    -0.005766867885199416,
                    -0.009379654782372593,
                    -0.0022920231701067236,
                    0.005976593422104128,
                    -0.006935477853542766,
                    0.0013337657002832825,
                    0.008421475075638155,
                    -0.003309405683740061,
                    0.003778653975071739,
                    -0.007952406437728559,
                    0.007253289919050434,
                    -0.004477639563295544,
                    0.0026100131721309454,
                    -0.009121291912740397,
                    -0.0020333917261951594,
                    0.0062355254277503954,
                    -0.006676617857873233,
                    0.00041146295963145294,
                    -0.0032008388565565537,
                ],
            ],
            biases: [
                -0.008646162061833933,
                -0.7254346055100037,
                0.009377535568846733,
                0.0020730154030125514,
                -0.0010209995178127517,
                -2.3518023906569745,
                -0.007208419442133924,
                -0.002614761088368359,
                -0.004639248644066404,
                -0.008371956056569827,
                0.009745986806638051,
                0.005452550434165497,
                0.0012178307573702995,
                -0.0015351316364393915,
                0.0006536617805598265,
                -0.008114978832361432,
                0.009458536358117081,
                0.00651508700635762,
                0.002599448287053735,
                0.0023220593134259965,
                0.005335289654632826,
                0.002901292121538796,
                -0.0027266301396985213,
                0.0010920875041126345,
                -0.009021538766879169,
                0.013906454538110524,
                0.00499927587523869,
                0.0021457388422270285,
                0.284387586033481,
                -0.013693125327107548,
                -0.005947422434338402,
                0.010413703003581153,
                0.005971077777518429,
                -0.3141255868145693,
                0.0303790846350958,
                0.003921953866750629,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    -0.006600699999999999,
                    0.40097577463974776,
                    0.04181618787770862,
                    -0.0030140939378590216,
                    0.004113100000000001,
                    0.060957949629975854,
                    -0.0005300000000000005,
                    0.006809040155877536,
                    -0.017222881250085503,
                    -0.008810473065631683,
                    -0.012747245465550214,
                    0.0033722109423051446,
                    -0.010039368987661723,
                    -0.016642724673072908,
                    0.03542772527889113,
                    -0.00271516,
                    -0.01039975418587838,
                    -0.01749430804962722,
                    0.00751642359367234,
                    -0.04370101298116696,
                    0.010569031205259295,
                    0.0039593499939055725,
                    -0.0030587412876853207,
                    0.03367449334426104,
                    0.002036500000000001,
                    0.04057092223540138,
                    -0.0029517382031761918,
                    -0.005290820817022175,
                    0.3104991657389725,
                    0.0010360285631178508,
                    0.022496907966710854,
                    -0.002583988730562873,
                    0.0005908534380639503,
                    -0.17092460909099408,
                    0.0764289474021438,
                    -0.00672135475007816,
                ],
                [
                    -0.00943488,
                    0.3924061922607449,
                    0.04137577462089696,
                    -0.0058472096315908524,
                    0.009397059999999999,
                    0.059343521008070804,
                    0.004753959999999999,
                    -0.005072901185464917,
                    -0.016043380117188137,
                    0.0071849038406291135,
                    -0.016045225037622186,
                    -0.00037277847034936323,
                    -0.0032994010498206385,
                    -0.00984338710827117,
                    0.024961341281787387,
                    0.0013874800000000008,
                    0.00848407026346428,
                    -0.019686206602467834,
                    0.00469286794626953,
                    -0.041000402946780895,
                    0.01669424621494643,
                    0.009763260121137879,
                    0.0035171004309116297,
                    0.023240856105809254,
                    -0.0007976799999999995,
                    0.04127783634060409,
                    -0.005120381591078882,
                    -0.006918912329636313,
                    0.30752409504442174,
                    0.019355313307852992,
                    0.012647422739654756,
                    0.004797045091424011,
                    0.006978088736315035,
                    -0.16102717143535009,
                    0.07757180777844662,
                    -0.009543785135287012,
                ],
                [
                    -0.0053322199999999995,
                    0.3790215751254007,
                    0.02537552122664787,
                    -0.0017460889821829598,
                    0.0053815799999999995,
                    0.05690111690479315,
                    0.0007384799999999992,
                    0.0015394813323797454,
                    -0.0072497279202267525,
                    -0.0075004462222257075,
                    -0.01246737853712388,
                    0.005245811940460528,
                    -0.005441781642770628,
                    -0.011462146010619689,
                    0.026001046872660548,
                    0.00667144,
                    -0.00854733937479387,
                    -0.010937876875380642,
                    0.008808453185379372,
                    -0.025400176852113335,
                    0.012843101454582761,
                    0.005135182970430819,
                    0.00021852602771889917,
                    0.04518814979815324,
                    0.003304959999999999,
                    0.03150561749433408,
                    -0.0005828256597509964,
                    -0.00233982007174528,
                    0.2962312374976019,
                    0.03472263153445124,
                    0.03243791316357002,
                    0.0027409880418045123,
                    -0.008301445740687115,
                    -0.1431697805193732,
                    0.08481181056115453,
                    -0.004218582339187895,
                ],
                [
                    -0.0081664,
                    0.35927785408126917,
                    0.038946285641961245,
                    0.0023630970544790933,
                    -0.009334480000000001,
                    0.055646273569589004,
                    0.00602242,
                    -0.0026122485336320584,
                    -0.00578139216917362,
                    0.008491337187058998,
                    -0.016435705650984303,
                    -0.010207969526506464,
                    0.0022979480070938127,
                    -0.0065359923594387375,
                    0.03458275139181335,
                    0.0026559599999999993,
                    -0.013845317623919927,
                    -0.011598330113249684,
                    0.006020371018076634,
                    -0.010159164789913258,
                    0.016974850110689107,
                    0.007271659707654064,
                    0.00581219089734724,
                    0.032082826771373134,
                    0.00047077999999999953,
                    0.04876871031155607,
                    -0.003114031648436225,
                    -0.019164842969192488,
                    0.27907853259320253,
                    0.05577826071832376,
                    0.02141602484570091,
                    0.006171500780815748,
                    0.008136188798536505,
                    -0.12200281455041061,
                    0.07773006580258121,
                    -0.008161688683658607,
                ],
                [
                    -0.00406376,
                    0.34206087177913685,
                    0.01814830515203529,
                    -0.00046927304381290093,
                    0.006650039999999999,
                    0.056527876957787646,
                    0.002006939999999999,
                    0.0034910493555074624,
                    0.003078384670535039,
                    -0.00616908025133489,
                    -0.013291772703687877,
                    0.007437170958933348,
                    0.0010497746370854186,
                    -0.007523054893923516,
                    0.03170863213312178,
                    0.0079399,
                    -0.011733898097954805,
                    -0.002463505539062645,
                    -0.009847340866828319,
                    0.0007494131534314332,
                    0.011648593739269074,
                    0.0006255515156913313,
                    0.00200116580907192,
                    0.03928196057937682,
                    0.00457344,
                    0.035280348672341734,
                    0.00216143874865178,
                    -0.0021952860353756567,
                    0.25204783765779204,
                    0.07369564539683951,
                    0.02146109843582835,
                    0.0125666822636721,
                    -0.005423431808557401,
                    -0.09493287166488677,
                    0.0786148118540973,
                    -0.003994947313316757,
                ],
                [
                    -0.00689794,
                    0.3222143730147938,
                    0.015532757684513369,
                    0.0036436512517841273,
                    -0.008066,
                    0.060164888291080874,
                    0.0072909,
                    -0.0015102079281268737,
                    0.0037603765391015596,
                    0.009845690260320446,
                    -0.007846199240055661,
                    -0.007826053855115837,
                    0.007193142010688323,
                    -0.0007947934753713679,
                    0.03188268586804708,
                    0.00392442,
                    -0.015969231466493553,
                    -0.003086805874083481,
                    -0.004503018347881936,
                    0.015896451692764324,
                    -0.004159929396542353,
                    0.00017562000227147706,
                    0.006982158234811525,
                    0.030368375520451265,
                    0.0017392600000000003,
                    0.04536629041821494,
                    0.0003118927553910761,
                    -0.018564701674040774,
                    0.21256064613843678,
                    0.0811401416082063,
                    0.026097816198972154,
                    0.011247728325111407,
                    -0.007534468270859421,
                    -0.05758472644815747,
                    0.05923397692614724,
                    0.0014706478285925015,
                ],
                [
                    -0.00279528,
                    0.30285540678313866,
                    0.007104955123941899,
                    0.0008184801045286972,
                    0.00791852,
                    0.0666446011542446,
                    -0.00860646,
                    0.0042435225544862265,
                    0.009989670627578651,
                    -0.004833238281948937,
                    -0.010111492389901684,
                    -0.010485811427142918,
                    0.002459982005202524,
                    -0.000883694786890605,
                    0.028714839241700565,
                    0.00920838,
                    -0.01165704463432669,
                    0.0030347934101696244,
                    -0.008478505554756328,
                    0.017794322612784404,
                    0.01156744202194554,
                    -0.0025426622237078498,
                    -0.008801104022643941,
                    0.027770001262624952,
                    0.0058419,
                    0.02337737100798449,
                    0.00472969210642803,
                    -0.0006506519159019795,
                    0.17506289249385198,
                    0.07096879240801635,
                    0.03031119305002843,
                    0.016351289216234344,
                    -0.001185377137409422,
                    -0.026717184672156443,
                    0.030422605000710038,
                    -0.0024659103950991686,
                ],
                [
                    -0.005629459999999999,
                    0.27550177065344855,
                    0.009799885174889191,
                    0.004925542193627121,
                    -0.0067975399999999995,
                    0.07338949384400467,
                    0.00855936,
                    -0.0033416027848857245,
                    0.004755329321307715,
                    -0.008934400867325993,
                    0.003224370473004368,
                    -0.006174034461628964,
                    0.0015427051998558067,
                    0.004243303361042249,
                    0.009272237876125666,
                    0.0051929,
                    -0.011589918884866646,
                    0.000781142706143839,
                    -0.0031728764790228277,
                    0.01236335234547821,
                    -0.002386567182693297,
                    0.0021703023581383448,
                    0.008974812518794928,
                    0.00637791708741974,
                    0.0018264199999999996,
                    0.00944374776837126,
                    0.009431535444978918,
                    -0.012754530210092168,
                    0.13600540848298132,
                    0.05232393548478493,
                    0.015333318779597422,
                    0.014916875679961698,
                    -0.003328741721122296,
                    0.012240057224280143,
                    0.021630208853390506,
                    0.002860218764364692,
                ],
                [
                    -0.00152682,
                    0.24760797796984874,
                    0.012585232504563624,
                    0.0020912689608388554,
                    0.00918698,
                    0.07911138852497929,
                    -0.007337979999999999,
                    0.011115561074641355,
                    0.01057152917202862,
                    -0.003766140777568437,
                    0.0007575569296120293,
                    -0.00912192170211051,
                    -0.00016750502202749314,
                    -0.007823280450261701,
                    0.00866514277618161,
                    -0.009523160000000001,
                    -0.004975275655914545,
                    0.002112468361085713,
                    -0.007190682113857708,
                    0.007032585296940082,
                    0.01248999040672215,
                    0.020451729053830036,
                    -0.005886334858974922,
                    0.005519309730755368,
                    0.00711038,
                    0.0069842771338030985,
                    0.005584654560205607,
                    0.006716932683717421,
                    0.10301078432376377,
                    0.022103588425997404,
                    0.024118809397243056,
                    0.014138115885856787,
                    0.00012272662767616823,
                    0.04772203161485384,
                    0.005926696250535683,
                    -0.0011418329725302117,
                ],
                [
                    -0.004361,
                    0.2298929512833438,
                    0.015479099206606084,
                    0.006197117222635918,
                    -0.00552906,
                    0.08390368588591553,
                    0.009827840000000001,
                    0.0029729904524826156,
                    0.004699934761906904,
                    0.00028848469819591,
                    0.011241784789506604,
                    -0.004963317134063931,
                    0.0017140676401306146,
                    -0.011516341612175268,
                    -0.00451611120046634,
                    0.00646136,
                    -0.005947280099257906,
                    0.008213236554321933,
                    -0.0018984806478420247,
                    0.005284150996025203,
                    -0.002180069414525689,
                    0.015095808772309928,
                    0.010946032810153172,
                    -0.00878015050095725,
                    0.0030949000000000003,
                    0.006558809455560555,
                    0.009296393939901454,
                    -0.004581035590346625,
                    0.0806539988953314,
                    -0.001840244257123164,
                    0.011966025015375461,
                    0.011671285290191328,
                    -0.0028534728514579043,
                    0.07060513979964612,
                    0.005534425141169399,
                    0.004159379517757241,
                ],
                [
                    -0.00025834000000000024,
                    0.21514170410717295,
                    0.016130527528296974,
                    0.0033651130901536735,
                    -0.0014264200000000005,
                    0.08552824768379848,
                    -0.006069519999999999,
                    0.015416718109333424,
                    0.011695823976956558,
                    -0.0025677648327623805,
                    0.0065686060730020856,
                    -0.007743031251831841,
                    0.001360508096946452,
                    -0.003911665450118149,
                    -0.00020392475711822388,
                    -0.00825468,
                    -0.0018055868148111132,
                    0.0032634174253741806,
                    -0.005916587582129028,
                    0.005657460571806946,
                    0.012607752204010288,
                    0.028543893735655693,
                    -0.0032756405048571103,
                    -0.0058859052319242145,
                    0.00837884,
                    -0.000945961790094569,
                    0.006299182243415706,
                    -0.006988092632977991,
                    0.06389437075168704,
                    -0.007852320025239503,
                    0.024170399472685376,
                    0.012896251352913442,
                    0.0013507953601794988,
                    0.08512153373392031,
                    -0.004352318538533592,
                    0.00015967181262622817,
                ],
                [
                    0.005025599999999999,
                    0.20356763612432244,
                    0.01760464366583161,
                    0.007469376179488077,
                    -0.0042606,
                    0.08760063440619897,
                    -0.0089037,
                    0.005990688178025485,
                    -0.005331985141352927,
                    0.0015005395503295117,
                    0.015442281577908565,
                    -0.0033146338884460346,
                    0.0035619912813245084,
                    -0.008058832184139542,
                    -0.007061290433207742,
                    0.007729839999999999,
                    0.00494193732493291,
                    -0.009663862815899874,
                    -0.001803573788792702,
                    0.006652925889219365,
                    -0.002506099211783859,
                    0.019191823800563387,
                    0.012951123757120108,
                    -0.012853285931183985,
                    0.00436336,
                    0.003046359698064793,
                    0.010397803213182153,
                    -0.0005072184507517189,
                    0.04991528605821012,
                    -0.014143864150632528,
                    0.013159575951256565,
                    0.011821521404601965,
                    -0.001490189978555957,
                    0.09754294486329203,
                    -0.0012445352158297418,
                    0.0054813487795713,
                ],
            ],
            biases: [
                0.059883492413685055,
                0.056947109324794194,
                0.05467006257053706,
                0.05496833760030291,
                0.06172410253320173,
                0.08091423413605339,
                0.11208786439600073,
                0.1478391255312558,
                0.18145863407377816,
                0.20621960106208753,
                0.21906654695594246,
                0.22987062473937794,
            ],
        },
    }
}

pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    0.3071256465541839,
                    0.29274913538712793,
                    0.19311393635828095,
                    -0.18944103098827036,
                    -0.380634907576136,
                    -0.8768068396076569,
                    -1.2260215580994842,
                    -1.1297205586060801,
                    -0.7509788933722434,
                    -1.15197800133726,
                    -0.9746401948626323,
                    -1.24369914185463,
                    -0.8199934323413661,
                    -0.4089317618922662,
                    -0.13730947728589538,
                    0.29273225493829147,
                    -0.02827811617270064,
                    -0.04791068735058473,
                    0.12639435248580966,
                    0.3027234545727864,
                    0.6337326448418376,
                    0.45719992770713896,
                    1.0460196675406532,
                    1.1758720294056855,
                    0.7369801984215408,
                    0.6072628509976526,
                    0.670989521587158,
                    0.6940262552684452,
                    0.47375399102576243,
                    0.38882744556360976,
                    0.09377023385437398,
                    -0.00613395414975832,
                    -0.18395830024247395,
                    -0.21849895334181532,
                    -0.3952777612312286,
                    -0.3829858432808993,
                ],
                [
                    -0.04683099994805934,
                    0.02404700004767825,
                    -0.09326199995878605,
                    -0.02238399995373238,
                    -0.05851159995282398,
                    0.012366400051262926,
                    0.09505740005086806,
                    -0.034064599949927464,
                    0.04862640003982983,
                    -0.08049559996435121,
                    0.0021954000323066076,
                    0.07307340003436906,
                    0.03694560002777834,
                    -0.09217639997926665,
                    -0.009485399978723453,
                    0.06139260001997625,
                    -0.05591639997011468,
                    0.014961600031551088,
                    0.0976526000223287,
                    -0.031469399979542054,
                    -0.06759699997253985,
                    0.003281000028120331,
                    0.08597200002469547,
                    -0.04314999997631145,
                    0.03954100003400605,
                    -0.08958099996598792,
                    -0.01870299996616781,
                    0.06398800003355345,
                    0.016047200033025243,
                    0.09873820003190834,
                    -0.03038379996982175,
                    0.05230720002803902,
                    -0.0768147999739681,
                    0.0058762000245054105,
                    0.07675420002368392,
                    -0.04055479997703802,
                ],
                [
                    -0.04424081361353855,
                    -0.11060298318914259,
                    -0.16320243290302136,
                    -0.21310437337208307,
                    -0.30542428495628693,
                    -0.10400887600413401,
                    0.02943965035131671,
                    0.20921598198914468,
                    0.4054618096084492,
                    -0.036479400912936236,
                    0.14487877048943493,
                    0.1796959494234163,
                    0.35333463104890245,
                    0.3518391717936412,
                    0.10602005693262337,
                    0.37071912624720027,
                    0.47671733218586476,
                    0.5358261070764818,
                    0.19744316560193875,
                    -0.2276871403459755,
                    -0.540965840967018,
                    -0.7102557058309563,
                    -0.5039487089955401,
                    -0.41306679377905725,
                    -0.48544138666531617,
                    -0.6013430651550644,
                    -0.514230926979946,
                    -0.6055649783485041,
                    -0.487925997500587,
                    -0.31795310423092615,
                    -0.35013192988622965,
                    -0.15560268326484963,
                    -0.10315748797213295,
                    0.04557110362905064,
                    -0.03389806605177941,
                    0.08302685486251528,
                ],
                [
                    -0.03414620009536447,
                    0.04854479990815968,
                    -0.08057720007521003,
                    0.08329499992438419,
                    -0.04582700007074558,
                    0.03686399991929157,
                    -0.0922580000913721,
                    -0.00956700008786626,
                    0.0613109999262178,
                    -0.05599800007254578,
                    0.0148799999305572,
                    -0.0330606000717734,
                    0.049630399932110665,
                    -0.07949160005650686,
                    0.003199399942893658,
                    0.07407739993442897,
                    -0.0432316000769916,
                    0.02764639993475918,
                    -0.08966260004782402,
                    0.0623965999502364,
                    -0.05491240006522535,
                    0.015965599924323812,
                    0.09865659992746618,
                    -0.030465400073764685,
                    0.052225599913831224,
                    -0.07689640008615123,
                    0.005794599914312432,
                    0.07667259991522048,
                    0.040544999916733146,
                    -0.08857700008076501,
                    -0.005886000077805653,
                    0.0649919999254375,
                    -0.052317000071610234,
                    0.01856099993048493,
                    -0.09874800006813271,
                    -0.027870000067030054,
                ],
                [
                    0.11952200675094013,
                    0.17544515199749794,
                    0.04759659098187778,
                    0.07519520709979854,
                    -0.10096830241659657,
                    -0.08183176638286803,
                    -0.0441417246388694,
                    -0.1271815363083604,
                    -0.25118242580286326,
                    -0.20676107220397288,
                    -0.14101357230054207,
                    -0.29930438574772683,
                    -0.20286523320534963,
                    -0.09635805631883938,
                    -0.19564452869492305,
                    -0.2071437779850778,
                    -0.14115509122189057,
                    -0.0971332642598493,
                    -0.1931921882753175,
                    -0.10524166918741568,
                    -0.19410183694068692,
                    -0.06892658732893095,
                    0.13303239052740637,
                    0.1403598823654767,
                    -0.023798815940504748,
                    0.043894253383523804,
                    0.12339461581573688,
                    -0.013289974902068652,
                    0.05057751904286577,
                    0.1029024817166367,
                    -0.04942726348635309,
                    -0.12311752408412198,
                    -0.06612864104453842,
                    -0.01974241200270237,
                    -0.1389029340046029,
                    -0.07891643387595527,
                ],
                [
                    -0.8229351934491271,
                    -0.67879041402245,
                    -0.7710300903426449,
                    -0.4711051392362543,
                    -0.30461849472221114,
                    0.07924689545444819,
                    0.11932668557559635,
                    0.2876832547581857,
                    0.204646741294764,
                    0.2044981344576664,
                    0.28598494681080816,
                    0.4019363091580187,
                    0.34223024970464516,
                    -0.0031957402682375857,
                    0.05953980436149236,
                    0.09321405041041178,
                    0.2753507382043941,
                    0.6960237828347046,
                    0.734009917150735,
                    0.9764308714519803,
                    0.6892943848242123,
                    0.34665219997764307,
                    -0.5899866847144245,
                    -0.9634802009448095,
                    -0.5889887482493174,
                    -0.6780257020916971,
                    -0.5953534035274798,
                    -0.6063618494722454,
                    -0.4575636026908716,
                    -0.5507097087487742,
                    -0.319820371905953,
                    -0.13936162268949642,
                    -0.14814436089219196,
                    0.06402324336027633,
                    -0.09352696739480797,
                    0.12213715242775913,
                ],
                [
                    0.03137799989671543,
                    -0.08593100010790232,
                    -0.015053000104606355,
                    0.067637999897953,
                    -0.06148400010343589,
                    0.02120699989622197,
                    0.09208499990240146,
                    0.05595719992180327,
                    -0.0731648000643011,
                    0.009526199934226449,
                    0.08040419993842104,
                    -0.03690480005790414,
                    0.033973199948163404,
                    -0.08333580003901427,
                    -0.012457800032930578,
                    -0.04858540003780719,
                    0.02229259994834033,
                    -0.0950164000565929,
                    -0.024138400052685915,
                    0.05855259995401771,
                    -0.07056940004743939,
                    0.012121599951239084,
                    0.08299959995460775,
                    0.03505879995198582,
                    -0.08225020005758389,
                    -0.011372200057601848,
                    0.07131879994278702,
                    -0.05780320005659552,
                    0.024887799944714645,
                    0.09576579994680663,
                    -0.02154320005045564,
                    -0.06948380004731934,
                    0.013207199955191361,
                    0.08408519995735901,
                    -0.0332238000416296,
                    0.03765419995953875,
                ],
                [
                    0.012319401247635371,
                    0.0808202011394902,
                    0.04819455314418558,
                    -0.08423972440575474,
                    -0.003902145556218824,
                    0.06247003566063737,
                    -0.060982318250827415,
                    0.004957071845286519,
                    0.09010531127606557,
                    -0.03915663609109204,
                    -0.07982881935939752,
                    -0.013632279121781303,
                    0.06971315570170435,
                    -0.054517078652814424,
                    0.025522562154347266,
                    -0.10712251555767235,
                    -0.03240127107275807,
                    0.041713747073218364,
                    -0.06079706955136974,
                    0.10062541245794508,
                    -0.017489475859444572,
                    0.04765782170104396,
                    -0.06704790263067674,
                    -0.0023555381242344204,
                    0.08168070507246503,
                    -0.04727386180392423,
                    0.035211287706794714,
                    -0.012528249475942678,
                    0.06934313869265675,
                    -0.06114666137830681,
                    0.020270001662421752,
                    -0.1102934231881367,
                    -0.028664130906437484,
                    0.04144717534189478,
                    -0.0760133727987335,
                    0.07556872432426447,
                ],
                [
                    0.04406260002537296,
                    -0.07324639997879094,
                    -0.0023683999808445733,
                    0.08032260002314977,
                    -0.048799399977111683,
                    0.03389160002396114,
                    -0.01404899997630489,
                    0.06864200002659693,
                    -0.060479999979931774,
                    0.022211000014960444,
                    0.09308900001065273,
                    -0.02421999998729622,
                    0.0466580000079518,
                    -0.07065099999260425,
                    0.08140820001033477,
                    -0.03590079999275423,
                    0.03497720001265782,
                    -0.08233179998286308,
                    -0.011453799985520914,
                    0.07123720001304158,
                    -0.057884799982424406,
                    0.024806200017515614,
                    -0.023134399983035858,
                    0.059556600015256346,
                    -0.06956539997956677,
                    0.013125600020434901,
                    0.08400360002028037,
                    -0.03330539998002783,
                    0.037572600019379516,
                    -0.0797363999816415,
                    -0.008858399982933751,
                    -0.04498619998436636,
                    0.025891800014362684,
                    -0.09141719998657813,
                    -0.020539199987132318,
                    0.06215180001238676,
                ],
                [
                    -0.11495756961458242,
                    -0.03450910481109677,
                    -0.08403742027254384,
                    -0.19476858403064828,
                    -0.09730140433452543,
                    0.027562571088517097,
                    -0.05949361731027722,
                    0.05324165369756558,
                    -0.055425858605273104,
                    0.055422417534866715,
                    0.021066811479604052,
                    0.12147053765074593,
                    0.1968126261612725,
                    0.07650959969465466,
                    0.14378057757611118,
                    0.024155855812039682,
                    0.08742444870747987,
                    0.14569357920398418,
                    0.06238383264143948,
                    -0.08625477129915067,
                    -0.04776580531365067,
                    -0.0002813842313836931,
                    -0.1740160170101473,
                    -0.12243043482774374,
                    -0.22086854580517698,
                    -0.13795660970728008,
                    -0.18321499599111077,
                    -0.09452240970150434,
                    -0.01083925006229413,
                    -0.10736614972154507,
                    -0.010664485117418115,
                    -0.1015481864955667,
                    -0.007273894684898254,
                    0.0812354235367111,
                    0.05432145580656756,
                    -0.06602858425750537,
                ],
                [
                    0.06030228592513109,
                    -0.06892868444170369,
                    0.014011578863390821,
                    0.08525851591367908,
                    -0.0312726708078984,
                    0.040642237531858645,
                    0.005825651038692252,
                    0.0784268728925081,
                    -0.03735676650563595,
                    0.03452303097825028,
                    -0.08194542544537221,
                    -0.010444771620830785,
                    0.07262088860143646,
                    -0.05623833635284209,
                    -0.09250078644058986,
                    -0.022729906643032725,
                    0.05867298524060404,
                    -0.07135872790729972,
                    0.010101931469504917,
                    0.07974249779816883,
                    -0.03886131152959095,
                    0.030832818327040136,
                    -0.006517117536767308,
                    0.06382986207315244,
                    -0.053387506336665544,
                    0.017485450382228394,
                    -0.0997207342572897,
                    -0.02858054962807412,
                    0.05464859883411834,
                    -0.07361774571460544,
                    0.09135748511785119,
                    -0.03664074473738733,
                    0.047053476322963264,
                    -0.08134031663164211,
                    0.001751478656369617,
                    0.0730085204648589,
                ],
                [
                    0.1514990502872555,
                    0.09118064179948943,
                    0.19327879287340105,
                    0.05966142577759624,
                    0.11660782059201977,
                    0.24050483721357932,
                    0.12698597681557816,
                    0.16818131750416776,
                    -0.02155365935911612,
                    0.11873975871756737,
                    -0.0644969001787628,
                    5.8072282267708206e-5,
                    -0.15017599417359492,
                    -0.06660932078505633,
                    0.017401026071051897,
                    -0.06443664524642247,
                    0.07689807778610051,
                    -0.0318828223242528,
                    0.13979042513540646,
                    0.025379662590223798,
                    0.08238517595258733,
                    0.13225660686338764,
                    -0.013842068341855302,
                    0.02938486978000745,
                    -0.06932816974362689,
                    0.014660151665578389,
                    -0.031328861471220666,
                    0.05208870633838854,
                    -0.07811831029438741,
                    0.0010643735411226746,
                    0.06505221687869742,
                    -0.05929882311221901,
                    0.005069859925623472,
                    0.08251820661610307,
                    0.03268756022195834,
                    -0.08690409355169834,
                ],
                [
                    0.08124499996251339,
                    -0.036064000035539244,
                    0.03481399997472371,
                    -0.08249500002554677,
                    -0.01161700002194211,
                    -0.047744600034977366,
                    0.02313339995294467,
                    -0.09417560004545895,
                    -0.023297600038668317,
                    0.0593933999635017,
                    -0.06972860003691943,
                    0.012962399960815853,
                    0.0838403999602948,
                    0.04771259996683752,
                    -0.08140940003434567,
                    0.0012815999522220415,
                    0.07215959994098825,
                    -0.045149400045173795,
                    0.025728599975455624,
                    -0.09158040001846031,
                    -0.020702400022441267,
                    -0.05683000003418791,
                    0.0140479999581598,
                    0.09673899995135515,
                    -0.03238300004678549,
                    0.0503079999532297,
                    -0.07881400004658137,
                    0.003876999953772374,
                    0.07475499995422877,
                    -0.04255400004511837,
                    -0.09049480004461305,
                    -0.007803800044118893,
                    0.06307419995637961,
                    -0.05423480004335837,
                    0.016643199956965633,
                    0.09933419995714347,
                ],
                [
                    -0.07928243057315247,
                    -0.14704621510593566,
                    -0.0822393737728086,
                    -0.21009050861270318,
                    -0.11909781099254176,
                    -0.21663843167439287,
                    -0.09119358098498961,
                    -0.008654450081824902,
                    -0.12235256968601613,
                    -0.12088495407628817,
                    -0.03079702603599737,
                    0.043472106298624254,
                    -0.07618692513898277,
                    0.0011755046977689058,
                    0.09246049439539086,
                    -0.03715968413334656,
                    0.03340667690137623,
                    -0.05323189324323089,
                    -0.002542221872953574,
                    -0.14048168823070314,
                    -0.06960435671292847,
                    -0.22127273703489192,
                    -0.14958227803307297,
                    -0.10243577368969521,
                    -0.11195237549385305,
                    0.03770579781315133,
                    -0.08113547652408547,
                    -0.010023523904361072,
                    -0.12207023155655258,
                    -0.034890252919352625,
                    0.07330426968947473,
                    -0.02416416580476167,
                    0.08787242639075839,
                    -0.019827450953139016,
                    0.1560757444888874,
                    0.03621171527658893,
                ],
                [
                    -0.0942572000815345,
                    -0.023379200076258273,
                    0.059311799917391564,
                    -0.06981020007956844,
                    0.01288079992790817,
                    -0.035060000076609046,
                    0.04763099992269168,
                    -0.08149100008085987,
                    0.0011999999199664292,
                    0.07207799992298462,
                    -0.04523100006920796,
                    0.02564699993307264,
                    -0.09166200006119439,
                    0.0603973999294052,
                    -0.056911600074579675,
                    0.013966399930534,
                    0.09665739992904518,
                    -0.03246460008090743,
                    0.05022639990571962,
                    -0.07889560010068222,
                    0.003795399903857795,
                    -0.04414540009754347,
                    0.03854559990469199,
                    -0.09057640008630836,
                    -0.007885400093486218,
                    0.06299259990658776,
                    -0.054316400092912887,
                    0.016561599908184187,
                    0.099252599909975,
                    0.05131199991183913,
                    -0.0659970000870549,
                    0.0048809999133791245,
                    0.07575899991324579,
                    -0.04155000008683806,
                    0.029327999913407902,
                    -0.08798100008630408,
                ],
                [
                    -0.05421725193443001,
                    -0.06978496679747997,
                    -0.1877841927199717,
                    -0.20859764551403154,
                    0.040159142487975134,
                    0.28620251595012725,
                    0.5152695013940959,
                    0.3638620197711812,
                    -0.10341058477547563,
                    -0.11888907284477804,
                    -0.23802851605237926,
                    0.004042955849400914,
                    -0.2704547265680538,
                    -0.33535703780767584,
                    -0.5925287224855803,
                    -0.36634668819282484,
                    0.377845020859692,
                    0.9404223779791174,
                    1.4810080118689575,
                    1.4875496603788227,
                    1.2709091553947975,
                    0.8360992370130749,
                    0.2596854943428688,
                    -0.1548933218014603,
                    -0.009161436878946699,
                    -0.03982427810576633,
                    0.04143855473588657,
                    0.13444892782513215,
                    0.014254232645374055,
                    0.09568273965004975,
                    0.14496063627328734,
                    -0.0044711092626903955,
                    0.03173340672692621,
                    -0.03109471365600962,
                    0.02935336824872676,
                    -0.09701282830644614,
                ],
                [
                    -0.08157259983598741,
                    0.001118400161949799,
                    0.07199640016817804,
                    -0.04531259984288869,
                    -0.0932531998481875,
                    -0.010562199850163542,
                    0.06031580013693878,
                    -0.0569931998817405,
                    0.01388480010725486,
                    0.09657580011100655,
                    -0.03254619989738573,
                    0.05014480009548491,
                    0.0022040000847980187,
                    0.08489500008202207,
                    -0.04422699992827149,
                    0.03846400006769234,
                    -0.09065799992727637,
                    -0.019779999914450935,
                    0.06291100010344147,
                    -0.06621099988204913,
                    0.0164800001184122,
                    -0.03146059988508315,
                    0.05123040010350148,
                    -0.07789159990933144,
                    0.004799400112179021,
                    0.07567740011213953,
                    -0.04163159988865821,
                    0.029246400109737534,
                    -0.08806259989334227,
                    0.06399660010274344,
                    -0.05331239990106289,
                    0.01756560009549178,
                    -0.09974339990662208,
                    -0.028865399908597163,
                    0.05382560009032729,
                    -0.07529639991108172,
                ],
                [
                    0.6308473088213166,
                    0.8491770239849263,
                    0.7346260007639132,
                    1.1849220463390735,
                    1.243867550416598,
                    0.8690668528073391,
                    0.9214522120229303,
                    0.9715138783162324,
                    1.4300945314700328,
                    1.260484893561002,
                    1.4203897151307179,
                    1.111899280855413,
                    0.973512037692905,
                    0.8883181002023479,
                    0.8215991000380586,
                    0.7593777086446665,
                    -0.060534041636502424,
                    -1.1251517742429824,
                    -2.4332809214426754,
                    -2.869755541485876,
                    -2.45183652587296,
                    -1.9828919395887488,
                    -0.7075315486857596,
                    0.39858634253738323,
                    0.012097907453096425,
                    -0.12335051297053776,
                    -0.0449704929463954,
                    0.03614662023268185,
                    -0.04377843996766552,
                    0.09040945277598669,
                    0.05038066022495155,
                    0.1959183284110465,
                    0.3389657513728193,
                    0.3358679500365418,
                    0.24365431170783186,
                    0.339002005938655,
                ],
            ],
            biases: [
                1.2382002478191105,
                -0.08849540002418868,
                1.9014578673432614,
                -0.06399780009135873,
                0.19589946419346874,
                0.4170591718302676,
                -0.0796548000360566,
                -0.013015208692509219,
                -0.06697019999450254,
                0.12775277434821392,
                -0.04234482646285675,
                0.07283718502951779,
                -0.029787800089000144,
                0.8749311336059609,
                -0.017103000305655668,
                -1.2160198177983983,
                0.0073946002897478874,
                -1.231412362828471,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    0.283314524208951,
                    -0.043630999999999996,
                    0.3788452223557517,
                    -0.008880600000000006,
                    0.1891044565682688,
                    -0.2110600073604313,
                    0.015566400000000003,
                    0.05439904799718389,
                    -0.0308646,
                    -0.09455945875914934,
                    -0.08180458604690447,
                    0.0673474735201436,
                    -0.0425454,
                    0.1987636741194503,
                    -0.0889764,
                    -0.03437843517563238,
                    0.0645926,
                    0.15279886157071773,
                ],
                [
                    0.24313253916605626,
                    0.052912,
                    0.3920513572094799,
                    0.006481000000000003,
                    0.10319520706366263,
                    -0.04293780892123863,
                    0.030928,
                    -0.0848164176106772,
                    -0.015503,
                    -0.04740331454923497,
                    0.018348841208489803,
                    -0.07237655850945075,
                    -0.0271838,
                    0.2258667395446985,
                    -0.07361480000000001,
                    0.013763576190372821,
                    0.0799542,
                    0.1411356577781761,
                ],
                [
                    0.2421453049781559,
                    0.0682736,
                    0.41954651142347155,
                    0.0218426,
                    -0.07448672797851914,
                    -0.018319375985104126,
                    -0.0725292,
                    0.012153788936536342,
                    0.0810398,
                    -0.029204052363252218,
                    0.031824054727375345,
                    -0.0773949737733296,
                    -0.011822200000000005,
                    0.2194286059583781,
                    -0.058253200000000005,
                    0.012756659979550042,
                    -0.0235028,
                    0.1516669320166736,
                ],
                [
                    0.2785641045103797,
                    0.08363519999999999,
                    0.4390612185214432,
                    0.0372042,
                    0.04599296202074072,
                    -0.1761242769842083,
                    -0.057167600000000006,
                    -0.03461710018065111,
                    0.0964014,
                    -0.0692794286637394,
                    0.04105765864295101,
                    -0.0678319154042636,
                    0.0847208,
                    0.059718619432826386,
                    0.0382898,
                    -0.022427439493899744,
                    -0.008141200000000005,
                    0.16393859557730936,
                ],
                [
                    0.3580903173017288,
                    -0.019821999999999996,
                    0.42732137913390894,
                    -0.066253,
                    0.06498952551384546,
                    -0.26535443348312154,
                    -0.041805999999999996,
                    -0.07836443573026394,
                    -0.088237,
                    -0.06827750714357614,
                    -0.09029435136959876,
                    -0.07681837643698645,
                    -0.0999176,
                    -0.060821739703308515,
                    0.053651399999999995,
                    -0.0537389453671532,
                    0.007220399999999993,
                    0.18611119631000864,
                ],
                [
                    0.40338843375524663,
                    -0.004460399999999998,
                    0.42342770033612004,
                    -0.050891399999999996,
                    0.08545257761051485,
                    -0.28178280020081015,
                    -0.014631400000000006,
                    -0.1572988014105177,
                    0.00830599999999999,
                    -0.10950894663910056,
                    -0.04073146769031108,
                    -0.08372055329185553,
                    -0.08455599999999999,
                    -0.2339286867390375,
                    0.06901299999999999,
                    -0.06005939776877347,
                    -0.0962368,
                    0.16912338502355256,
                ],
                [
                    0.4551210562751749,
                    0.01090120000000001,
                    0.3711882721199005,
                    -0.0355298,
                    0.04918582318338633,
                    -0.31392897174029694,
                    0.0819116,
                    -0.1280495190400529,
                    0.02366760000000001,
                    -0.24803682472972235,
                    -0.046065737189414625,
                    -0.07915259883777964,
                    0.01198680000000001,
                    -0.30275251090919963,
                    -0.0344442,
                    -0.08897738671918637,
                    -0.08087520000000001,
                    0.1771359224327659,
                ],
                [
                    0.4447270603733305,
                    0.02626280000000001,
                    0.3443449165831594,
                    0.06101319999999999,
                    0.013194029273800882,
                    -0.27022952869647093,
                    0.09727319999999999,
                    -0.0987178867519154,
                    0.03902920000000001,
                    -0.23191224094164342,
                    0.06081011190399906,
                    -0.14949515737961902,
                    0.027348400000000005,
                    -0.38827275646659737,
                    -0.019082600000000005,
                    -0.10636691772233776,
                    -0.06551359999999999,
                    0.1803812412565439,
                ],
                [
                    0.4207724760244632,
                    -0.0771942,
                    0.3683039347540336,
                    0.0763748,
                    -0.007112963035130648,
                    -0.2773139134572433,
                    -0.0873652,
                    -0.019333673371343885,
                    -0.064428,
                    -0.1650094183084318,
                    0.04778601498259346,
                    -0.0721474108746697,
                    0.042710000000000005,
                    -0.36150409551162466,
                    -0.0037209999999999964,
                    -0.09427268774696003,
                    0.031029400000000006,
                    0.15957685577016156,
                ],
                [
                    0.3982157790066902,
                    -0.061832599999999995,
                    0.3832358339348742,
                    0.09173640000000001,
                    0.05363913333901874,
                    -0.2637033906796093,
                    0.009177600000000008,
                    0.03287752468173106,
                    -0.049066399999999996,
                    -0.11564592097571037,
                    -0.09142989620009132,
                    0.02318440436569011,
                    0.0580716,
                    -0.3305377759773399,
                    0.092822,
                    -0.0724555975418921,
                    0.046391,
                    0.13943001755966827,
                ],
                [
                    0.3891659849163778,
                    -0.046471,
                    0.40738314712251245,
                    -0.011720799999999998,
                    0.1311828315422203,
                    -0.24723922974424425,
                    0.024539200000000004,
                    0.0511000947973031,
                    -0.0337048,
                    -0.12662178863665868,
                    0.03948547556186343,
                    0.1978430616928884,
                    -0.0453854,
                    -0.389643464379093,
                    -0.09181639999999999,
                    -0.07437007105509635,
                    0.061752600000000005,
                    0.12046824520303408,
                ],
                [
                    0.38544728802128264,
                    0.0500718,
                    0.3733435820518494,
                    0.0036407999999999996,
                    0.3159816833640811,
                    -0.21034807450796908,
                    0.0399008,
                    -0.10427009286065296,
                    0.0628382,
                    -0.2059892435869404,
                    0.01721597673929582,
                    0.2512328258329146,
                    -0.0300238,
                    -0.35107871814381264,
                    -0.0764548,
                    -0.07801959318085247,
                    -0.0417046,
                    0.10442509830043381,
                ],
            ],
            biases: [
                -0.33045937576378615,
                -0.18883823365590735,
                -0.1406207370227651,
                -0.06845991237600893,
                -0.02794071169258214,
                0.06280576380869078,
                0.1196003160342121,
                0.23819086713360227,
                0.23807687601795557,
                0.20293273469063483,
                0.1366467866938533,
                0.1571823622493778,
            ],
        },
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1000
-0.4 -0.1 -0.2 -0.3 -0.4 -0.5 ...

correct output
0.4 0.4 0.5 0.8 0.9 1.1 1.3 1....

user output
0.5126858164662735 0.489732321...
Truncated

Test 2

Verdict: ACCEPTED

input
1000
2.9 2.9 2.9 2.1 2.6 2 2 2.2 2....

correct output
2.3 1.6 1.5 1.1 1 0.7 0.6 0.8 ...

user output
2.718483970831045 2.6952592213...
Truncated

Test 3

Verdict: ACCEPTED

input
1000
6.6 6 6.4 6 4.6 4.6 4.2 4.3 4....

correct output
10 10.9 10.3 10.1 9.1 7.3 5.7 ...

user output
9.832806561817996 9.7835337001...
Truncated

Test 4

Verdict: ACCEPTED

input
1000
19.4 20.2 19.1 18.9 18.3 17.3 ...

correct output
18 18.2 17 17.5 17.2 16.2 12 8...

user output
17.45309583250115 17.446697324...
Truncated

Test 5

Verdict: ACCEPTED

input
1000
-5.7 -5.8 -5.8 -5.9 -7.1 -6.9 ...

correct output
-4.2 -4.1 -4 -3.8 -3.5 -3.2 -3...

user output
-4.195191117628703 -4.22091339...
Truncated

Test 6

Verdict: ACCEPTED

input
1000
14.8 14.8 15.4 12.9 11.8 9.7 9...

correct output
11.8 11 11.6 10.8 10.4 10.4 10...

user output
12.567297207330284 12.54895055...
Truncated

Test 7

Verdict: ACCEPTED

input
1000
0.7 1 2 1.4 0.6 -0.4 -0.9 -0.7...

correct output
-1.3 -0.5 -0.6 -1 -3.2 -7.2 -6...

user output
-1.6294483152242876 -1.6335726...
Truncated

Test 8

Verdict: ACCEPTED

input
1000
15.1 15.3 14.9 14.4 14.4 13.7 ...

correct output
15.6 15.9 16 15.2 14.6 14.4 13...

user output
14.849407560227668 14.81968667...
Truncated