CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:ToukoP
Submission time:2023-11-12 15:23:46 +0200
Language:Rust
Status:READY
Result:70
Feedback
groupverdictscore
#1ACCEPTED69.88
Test results
testverdicttimescore
#1ACCEPTED0.01 s8.88details
#2ACCEPTED0.01 s9.38details
#3ACCEPTED0.01 s9details
#4ACCEPTED0.01 s8.38details
#5ACCEPTED0.01 s8.75details
#6ACCEPTED0.01 s9.13details
#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.00012;

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.)
    if x < 0. {
        -1.
    } else {
        x
    } // */
}

#[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
            }),
        );

        let mut loss = 0.;
        for i in 0..O {
            let l = (actual_outcome[i] - desired_outcome.0[i]).powi(2);
            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 {
            let skip = question_mark_res.0[j] > 0.515;
            //let skip = question_mark_res.0[j] > 0.298;

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

            #[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!("");
            }
        }
        #[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.0067469945635585645,
                    -0.009014273624850664,
                    -0.0007451726401320445,
                    0.006342626998283716,
                    0.0027298644794807726,
                    0.009817666462690952,
                    -0.001913236599957226,
                    0.005174562338775926,
                    -0.006556341823967464,
                    0.0005314583845047529,
                    0.008800558201636204,
                    -0.004111641897092092,
                    -0.007724423788174554,
                    -0.0006366243215900512,
                    0.007632477393498744,
                    -0.005279717542632965,
                    0.0029893867665776192,
                    -0.009922808595563094,
                    -0.0028350071877341555,
                    0.0054340858865643575,
                    -0.007478122634487486,
                    0.008909115162358245,
                    -0.0040030774911414095,
                    0.004266057759360017,
                ],
                [
                    -0.44036940849335793,
                    -0.27974355422735314,
                    -0.17592136247681864,
                    -0.15680775068496652,
                    -0.1458489325284339,
                    0.024638897216043693,
                    0.010254976532894254,
                    0.051260374681194404,
                    0.027287980766187395,
                    0.000892543376297171,
                    -0.04175854086824354,
                    -0.05919394449571728,
                    -0.07793725706714519,
                    -0.006799768439266844,
                    0.12017895916692707,
                    0.23826393837771787,
                    0.14281943713209416,
                    0.07379202788261388,
                    -0.011796528652727279,
                    -0.22334603207593556,
                    -0.3745649400458233,
                    -0.23255211199075218,
                    0.29964448457492304,
                    2.0097478257206087,
                ],
                [
                    0.003993037641798773,
                    0.012083808905498207,
                    0.0008105848740836571,
                    0.015402781843203497,
                    0.0015208347402323184,
                    0.007244249928404337,
                    -0.006177554838380353,
                    0.0011381166815055798,
                    0.009466236963015809,
                    -0.003170834435404459,
                    0.004950354166523103,
                    0.00030474187886221464,
                    0.008387296672610338,
                    -0.0039282030527051275,
                    0.004688362920873142,
                    0.011497134204087881,
                    -0.003628907452036827,
                    0.004436459851042806,
                    -0.006154372624528332,
                    0.012659611214385354,
                    0.003343613002804507,
                    0.017869357768354455,
                    0.03461648172814431,
                    0.040233395965520224,
                ],
                [
                    -0.006564404664349155,
                    0.001704682013755864,
                    -0.0019081030307225551,
                    0.005179697582748459,
                    -0.007732507920977642,
                    0.0005365855926177947,
                    0.007624381641572513,
                    -0.004106515825949281,
                    0.0029812766766172784,
                    -0.008749617911423743,
                    -0.0016618147115374036,
                    -0.0052745770183947206,
                    0.001813223864150538,
                    -0.009917673325299732,
                    -0.00282989013156121,
                    0.005439193254622039,
                    -0.0074730176393838985,
                    0.000796075692890322,
                    0.00788386457159295,
                    0.004271085797377822,
                    -0.008641113710748178,
                    -0.00037200946552984777,
                    0.006715789850266375,
                    -0.005015105980759569,
                ],
                [
                    -0.009658212568844252,
                    -0.0013891116343624325,
                    -0.006183169911175131,
                    0.002085931451400781,
                    0.009173734978444297,
                    -0.0025571626741105547,
                    0.004530637752021315,
                    -0.007200264172036218,
                    -0.0001124656358577975,
                    0.008156633158416816,
                    0.0033625521475422583,
                    -0.008368347422490818,
                    -0.0012805468007304165,
                    0.006988555029038953,
                    -0.005923641011442066,
                    0.0023454643574112766,
                    0.009433269188727184,
                    -0.0022976272145730932,
                    -0.007091685901582452,
                    0.0011774137449256036,
                    0.008265211769174862,
                    -0.003465691520151781,
                    0.0036221033312650174,
                    -0.00810880577949996,
                ],
                [
                    -0.9162275134677947,
                    -0.6414611667322134,
                    -0.4607997915048585,
                    -0.42311172267459424,
                    -0.2649493782487188,
                    0.06905345376239022,
                    0.3015473094446488,
                    0.4975416453445914,
                    0.6139586990856436,
                    0.6383201893631021,
                    0.6001237743709757,
                    0.6518013217983676,
                    0.6681322914483352,
                    0.8504813673004313,
                    1.0855357513455899,
                    1.2603452570778402,
                    1.0017011068101338,
                    0.5755838647490358,
                    0.2689727708814948,
                    -0.048459280434168694,
                    -0.1502180136999326,
                    0.16607168418845075,
                    0.9758754047326584,
                    2.744379994693718,
                ],
                [
                    0.004154369429069256,
                    0.0005416104921153137,
                    0.007629408723824818,
                    -0.0041014956286710485,
                    0.0029863031539097535,
                    -0.008744596835831281,
                    -0.0016567942239386559,
                    0.006612306770423994,
                    -0.0062998892779391625,
                    -0.009912667965992354,
                    -0.0028248665379782887,
                    0.0054442352373066825,
                    -0.007467962778454392,
                    0.0008011397592175816,
                    0.007888942215491041,
                    -0.003841957206766617,
                    0.0032458408781953895,
                    -0.000366922574186884,
                    0.006720877902038703,
                    -0.005010018774134799,
                    0.0020777846764411917,
                    -0.009653114254064756,
                    -0.002565315681239765,
                    0.004522473577938569,
                ],
                [
                    0.010768820609841825,
                    -0.0006194696542230251,
                    0.006611770942181558,
                    -0.005251942403872755,
                    0.0017342692389536918,
                    0.010145669787609883,
                    -0.002749830218663649,
                    0.005675781699660878,
                    0.0010668794631829735,
                    0.009436088151122068,
                    -0.003498038833253398,
                    0.004868070793950015,
                    0.011986618634520222,
                    0.0004768817212787045,
                    0.007819418753802264,
                    -0.003757456696820218,
                    0.011150261617033825,
                    -0.0019320652100387123,
                    0.006567240747492849,
                    -0.006128731974413792,
                    0.002513189544066578,
                    0.010425752025231829,
                    7.938896532631668e-5,
                    0.009849242166865961,
                ],
                [
                    0.007167218960349592,
                    -0.004373523637652121,
                    0.002885455493455475,
                    0.011239204523488058,
                    -0.0013779406099604342,
                    0.007279685577105507,
                    -0.005463526715494681,
                    0.01080916520524209,
                    -0.0022924000441759368,
                    0.00580957737657714,
                    -0.007267467366263758,
                    0.0009261684025420932,
                    0.007959569539928492,
                    -0.004896007758574339,
                    0.003629270344932244,
                    0.011125731696590374,
                    0.007868269243318222,
                    -0.003839943853463443,
                    0.0030704663446605622,
                    0.009839164968844473,
                    -0.002211061609255724,
                    0.004689483139493269,
                    -0.007122446015651336,
                    0.00021190014867676665,
                ],
                [
                    0.0029909562041167733,
                    -0.008739913428684652,
                    -0.0016521126910536287,
                    0.006616972980137506,
                    -0.006295231958866798,
                    0.001973877150251455,
                    0.009061670822685133,
                    0.005448964683926552,
                    -0.007463205269559643,
                    -0.00037540763392037373,
                    0.007893687914532793,
                    -0.005018490596103924,
                    0.003250608034624191,
                    -0.009661580044101161,
                    -0.0013924692948844534,
                    -0.006186550761484148,
                    0.0020825416750734353,
                    0.009170276548117192,
                    -0.002560644046627951,
                    0.004527142957166429,
                    -0.007203771037339538,
                    -0.00011597329698247484,
                    0.008153117860095758,
                    0.003359065443301994,
                ],
                [
                    0.0005094740792671589,
                    0.00765557896807648,
                    -0.004108633892752312,
                    0.004011407822571981,
                    -0.008844417009650518,
                    -0.001601787924070415,
                    -0.005019865291086862,
                    0.0021893782469104843,
                    0.010644823292480596,
                    -0.002193765277138893,
                    0.006110740452152973,
                    -0.006736444229251859,
                    0.0015985842649378968,
                    0.008786161086578788,
                    0.0053111089599731905,
                    -0.0075311527107239365,
                    0.0006336469215403894,
                    0.007444104996767568,
                    -0.0044873353394364775,
                    0.002438274136400396,
                    0.010509389716477314,
                    -0.0026554670269602317,
                    -0.006637841975152661,
                    -0.00016482942632487735,
                ],
                [
                    -0.0031947851689688575,
                    0.0038926992183741286,
                    -0.007838388818989525,
                    -0.0007504116153924202,
                    0.00751865021176766,
                    -0.005394390443621449,
                    -0.009006037192140768,
                    -0.0019174796190575213,
                    0.006352779031355442,
                    -0.006558889273108437,
                    0.0017093001506217377,
                    0.00879664521881662,
                    -0.0029349252188537235,
                    0.0041529164047173495,
                    0.0005396660680173455,
                    0.007627366112389978,
                    -0.004103181955606385,
                    0.0029856274608355436,
                    -0.008744804519551895,
                    -0.0016567684552247885,
                    0.0066105681794204315,
                    -0.0063012302566726255,
                    -0.00991436451364553,
                    -0.002828274263444122,
                ],
                [
                    -0.006101512359853787,
                    0.0010238886331969883,
                    0.009332317442402883,
                    -0.0035615229761557865,
                    0.00475942471596466,
                    4.0975490971763956e-5,
                    0.008333796969147057,
                    -0.004604187747311776,
                    0.003627610384736385,
                    -0.009313205390670405,
                    -0.0010707775521872137,
                    0.006007797841631447,
                    -0.005735186591993762,
                    0.009486565830491999,
                    -0.0021858119020104327,
                    0.004988784680005328,
                    -0.006674737947859517,
                    0.0004284423924778232,
                    0.00867341181158397,
                    -0.004303616984389337,
                    0.0027212972059704713,
                    -0.000917141832880102,
                    0.006179561369555423,
                    -0.005443189480429665,
                ],
                [
                    0.00974179660112753,
                    -0.0019985978760898113,
                    0.006276248789053133,
                    -0.00661806999854569,
                    0.009786022533957108,
                    -0.0031288979615517578,
                    0.005109906260111191,
                    -0.00788043381273954,
                    0.00029854323297772947,
                    0.007333198650640865,
                    -0.004433783643670302,
                    0.0026234890570984684,
                    -0.001008340348837173,
                    0.006058710913900058,
                    -0.005662197045951372,
                    0.0014848150220828592,
                    0.008685294840205545,
                    -0.0029581336416480888,
                    0.004175636807868392,
                    -0.007525421829838416,
                    -0.00042672774036470954,
                    -0.0040474997533146775,
                    0.003012549122353287,
                    -0.008783091723753333,
                ],
                [
                    0.012539211009460682,
                    0.0012192722005924265,
                    0.010209802641861124,
                    0.018001235275152013,
                    0.013068209479231426,
                    0.001285947946588505,
                    0.007097060553208425,
                    0.014051973433110243,
                    -0.0007456484201707301,
                    0.006610109964157823,
                    -0.0071015528289985015,
                    0.0005968508451981904,
                    -0.004742506765527193,
                    0.0033315301428107746,
                    -0.009324527941268479,
                    -5.5262881538830635e-5,
                    0.008219384755185619,
                    -0.0017941735876741125,
                    0.0066433695267073285,
                    0.015526787362351916,
                    0.011901103042011401,
                    0.002878212959314965,
                    0.014742673533634489,
                    0.032373579214267686,
                ],
                [
                    0.0032478419311412093,
                    -0.008483059625299489,
                    -0.0013952635684057217,
                    -0.005008027072148012,
                    0.002079768487546377,
                    -0.009651137915577339,
                    -0.002563336460234414,
                    0.005705769301728521,
                    -0.00720642222419663,
                    0.0010626807241229125,
                    0.00815048281424042,
                    0.004537703963124315,
                    -0.008374494076771587,
                    -0.00010539406253021495,
                    0.006982400929274355,
                    -0.0047485100098082714,
                    0.0023392774769546995,
                    -0.009391632789805888,
                    -0.0023038337390828808,
                    -0.005916584752916605,
                    0.001171226277484181,
                    0.00944033308162156,
                    -0.0034718676967272167,
                    0.004797212723529986,
                ],
                [
                    0.0006158646436709468,
                    0.008818920547268773,
                    0.003927314151125951,
                    -0.007892108291029126,
                    -0.0008993403514722662,
                    0.007247414378987316,
                    -0.005624243708717545,
                    0.0028022062648778378,
                    0.010131038093212155,
                    -0.0014873164414411983,
                    -0.006160920237861063,
                    0.002177764321561474,
                    0.009323811985195479,
                    -0.002391406647566299,
                    0.004582545967008256,
                    -0.007403649416853239,
                    -0.0005913172439754177,
                    0.007488304904453116,
                    -0.005477594176832637,
                    -0.009020205874463571,
                    -0.0018857972338427835,
                    0.00629533628087692,
                    -0.006878557377049438,
                    0.0007719108294044594,
                ],
                [
                    -0.0025046601514745292,
                    0.00577765752811643,
                    0.0010068806967391511,
                    0.009304967763052865,
                    -0.003495364704847125,
                    0.004890803774509679,
                    -0.007942423800693559,
                    0.0003027988682380133,
                    0.007358739345958391,
                    -0.004403881284558609,
                    -0.009232163351359794,
                    -0.0009817559855293337,
                    0.0061072338768719155,
                    -0.005619735876452169,
                    0.0015211961217860503,
                    0.009884010472736285,
                    -0.0029119946968498168,
                    0.005361585491999828,
                    0.0004900581290373841,
                    0.008655946818187678,
                    -0.004390885218152779,
                    0.0037061015547888614,
                    -0.009445522558836133,
                    -0.002714776536538929,
                ],
                [
                    -0.006033846123815455,
                    -0.009646541872482397,
                    -0.0025586749472402835,
                    0.00571045767064429,
                    -0.00720168065927839,
                    0.0010674076214788573,
                    0.00815520489215369,
                    -0.003575728603862971,
                    0.0035121391998084142,
                    -0.00010067621022033571,
                    0.006987129919235573,
                    -0.00474373633685182,
                    0.0023440072960830057,
                    -0.00938702121325892,
                    -0.002299204907914524,
                    0.005969908469936779,
                    -0.006942303110301445,
                    0.008263631481223296,
                    -0.0034672364816598967,
                    0.0036205839085826585,
                    -0.008110264344907091,
                    -0.0010225029443670412,
                    0.007246597571404327,
                    -0.005665672381093755,
                ],
                [
                    0.001639888459125268,
                    0.010157193783343847,
                    -0.00021626308718518744,
                    0.00870470693036298,
                    0.018238174920094975,
                    0.009570126926377504,
                    0.01782033527625925,
                    0.004669571829585225,
                    0.009881042048452715,
                    0.004788984504556797,
                    0.01048761421374895,
                    -0.0018204511423737272,
                    0.004877069559013914,
                    0.012413001590618953,
                    0.0029495344538284893,
                    0.01375589639812687,
                    0.025531203034717505,
                    0.021631539789295204,
                    0.0088792016080446,
                    0.013671106359933854,
                    0.019361747167367917,
                    0.004623323657074575,
                    0.011603361104304663,
                    -0.0010346502484055893,
                ],
                [
                    -0.0037529685932093377,
                    0.003341512689007882,
                    -0.008393570936560889,
                    -0.001324082773715943,
                    0.006910225613652261,
                    -0.006023572044388985,
                    0.0022185500799058733,
                    0.009290570561374473,
                    0.005660293483859031,
                    -0.007258173412932215,
                    0.0009993143919176462,
                    0.008078898022990933,
                    -0.003662128752734953,
                    0.0034138830241366275,
                    -0.008315958544974227,
                    -0.0012196659636318768,
                    -0.004828053311065815,
                    0.0022756202909415073,
                    -0.00941585469265502,
                    -0.002290333783451632,
                    0.006021923356195292,
                    -0.006831694202303562,
                    0.0015079302681857347,
                    0.008687970359834048,
                ],
                [
                    -0.006134351356943233,
                    0.0013575814421428163,
                    0.009665430771918504,
                    -0.003681343797873182,
                    0.0043466478546542045,
                    -0.00838804424070251,
                    0.00012969193956578222,
                    -0.00417690913535883,
                    0.004717740114391584,
                    0.012089205258521816,
                    0.0004610810793422752,
                    0.00777097274164385,
                    -0.0038384644764331874,
                    0.0036246895602725913,
                    0.012254550998911201,
                    0.007461763671748813,
                    -0.005125517286530706,
                    0.0010136595410626206,
                    0.008978474736425067,
                    -0.004153932458243044,
                    0.004070060745390382,
                    0.011598701394488825,
                    0.0007964404186834459,
                    0.009928753161186268,
                ],
                [
                    0.0098115997166258,
                    -0.00310013134888234,
                    0.005169809278708607,
                    -0.007742591233517414,
                    0.0005264180012636359,
                    0.0076141565649732795,
                    -0.004117646356388184,
                    -0.008912335565125424,
                    -0.000644394529263354,
                    0.0064422692914574056,
                    -0.0052888708855398,
                    0.0017988541851369632,
                    0.010067713558367872,
                    -0.00284427473881405,
                    0.005425035046708707,
                    0.0006318946145623816,
                    0.008901960969796579,
                    -0.004009462896712813,
                    0.004260692741366829,
                    -0.008651215792644202,
                    -0.0003821813817746297,
                    0.006705599921408452,
                    -0.005024713122949649,
                    -0.009816854797966568,
                ],
                [
                    0.014967974150607083,
                    0.002349158451192112,
                    0.011460985537448197,
                    0.019595477773364556,
                    0.007554231429381265,
                    0.014156287989292847,
                    0.008609737637303855,
                    0.013935140615346593,
                    -0.00020737310042208914,
                    0.005745318314466471,
                    -0.006927966693674837,
                    -0.0005957768293200897,
                    0.006969775005242851,
                    -0.006363538547564438,
                    -0.009967585692512687,
                    -0.001999260012265099,
                    0.00772048484583019,
                    -0.002700493306662861,
                    0.007593920459990549,
                    0.01577017186143468,
                    0.004506803029996215,
                    0.01600748913941249,
                    0.016750449559991953,
                    0.03571475093185346,
                ],
                [
                    0.0023413040783833087,
                    -0.009389599861154044,
                    -0.0011205004541949234,
                    0.0059673049193621755,
                    -0.0057635937401980305,
                    0.009442341050502167,
                    -0.002288559362563208,
                    0.004799241818198473,
                    -0.006931657378706093,
                    0.00015614170552162826,
                    0.008425241725418779,
                    -0.004486960492452011,
                    0.0037821383682478953,
                    -0.0010119460435879626,
                    0.0072571445805910675,
                    -0.005655067110224165,
                    0.00143272612178325,
                    0.009701822930932281,
                    -0.003210381064021735,
                    0.005058722742639684,
                    -0.00785346995412236,
                    0.0004156334078907035,
                    -0.004378428342591944,
                    0.003890652847822553,
                ],
                [
                    0.010614416075311552,
                    0.019975559059058703,
                    0.009911717528553365,
                    0.018260093659457355,
                    0.005231331904019228,
                    0.01941448071382276,
                    0.003983693940371597,
                    0.008382951829185139,
                    0.012992467890341588,
                    -0.0015594414984805354,
                    0.0040217120836099065,
                    -0.008686755220592125,
                    -0.0027599478737252462,
                    -0.006580753856022837,
                    0.0010084197300429555,
                    -0.009016272290401865,
                    -0.00037313096947007806,
                    0.011878750255954291,
                    0.003200005303103346,
                    0.014143799064833231,
                    0.025286071365859312,
                    0.02970401927136603,
                    0.030067771300903656,
                    0.06346431991161713,
                ],
                [
                    -0.003801847519166094,
                    0.0044644252411459966,
                    -0.008449643929995884,
                    -0.00018519280487471173,
                    -0.004984722552009148,
                    0.0032851743258268365,
                    -0.00963371662192213,
                    -0.0013723314488421436,
                    0.0057083828658291485,
                    -0.006024559470095532,
                    0.0010645577012134552,
                    0.00933305692296746,
                    0.00453962380929334,
                    -0.007192564534929195,
                    -0.00010227510806871243,
                    0.008169789920277485,
                    -0.00474124919381414,
                    0.0035318423679703385,
                    -0.009376657679980414,
                    -0.0011033834750435933,
                    -0.005891369617220113,
                    0.0023855141662775014,
                    0.00948301464435341,
                    -0.0022397303018312996,
                ],
                [
                    -0.006800938803031707,
                    0.0014613296184138457,
                    0.008540542218623187,
                    0.004921584249666384,
                    -0.007991593404640479,
                    0.00027094641849127765,
                    0.007362744079399164,
                    -0.004360955322503338,
                    0.0027403707530442344,
                    -0.008987232183619322,
                    -0.0018964408290847144,
                    0.006373113140018354,
                    0.001586539500851116,
                    0.009853292119874723,
                    -0.003070197921097183,
                    0.005181220253823567,
                    -0.0077391680186045106,
                    0.0005222693022334165,
                    0.007603511628457939,
                    -0.004118262230824114,
                    -0.008912426556537761,
                    -0.0006671535763373518,
                    0.00636952931741045,
                    -0.00547103029220859,
                ],
                [
                    0.008678876578547066,
                    0.027938704429474482,
                    0.088616851244443,
                    0.12414946470115051,
                    0.10068914157066607,
                    0.0956246167637408,
                    0.029921269983070552,
                    -0.023940687942761003,
                    -0.11204919395838982,
                    -0.13510085620574372,
                    -0.18469328102192423,
                    -0.2138605984718395,
                    -0.2349848894002755,
                    -0.22448096460623143,
                    -0.2080668219034499,
                    -0.14697116197707566,
                    -0.13077655556616888,
                    -0.10011300313594933,
                    -0.05718520127356906,
                    -0.07194688832230513,
                    -0.0009565672799361745,
                    0.21303630106027818,
                    0.6538988761241162,
                    1.506246156325669,
                ],
                [
                    0.03116809272133316,
                    0.028972152247336985,
                    0.0373286778227824,
                    0.05655181505839936,
                    0.07453216470115229,
                    0.07860743455876619,
                    0.08199051444716031,
                    0.07439608029598493,
                    0.03574081448725492,
                    0.029245671069595292,
                    0.011257933434121384,
                    0.011415562087089262,
                    -0.008291886895294346,
                    6.43447472898784e-5,
                    -1.1678386611142606e-5,
                    0.034281951150840685,
                    0.06602569220547799,
                    0.06878826835631169,
                    0.08482734185835386,
                    0.0609365440611304,
                    0.06186824731447709,
                    0.06449624034783998,
                    0.11041304459399855,
                    0.2118224245298834,
                ],
                [
                    0.008689807111612689,
                    0.007252577300265055,
                    0.01600128170715848,
                    0.004472610388629358,
                    0.011430027744546583,
                    0.0011847692406648052,
                    0.007770702994265959,
                    0.015526501662167354,
                    0.0012991013292474082,
                    0.008777671253509697,
                    0.002802041033424893,
                    0.010718333233946584,
                    -0.0026268886782915835,
                    0.005438418439281166,
                    0.015769680828292408,
                    0.005241508873435822,
                    0.013303016752956994,
                    0.02001084440584785,
                    0.01697953951121093,
                    0.003926559260164679,
                    0.013718427601847357,
                    0.026489562148852324,
                    0.02561182542236804,
                    0.05454390678334902,
                ],
                [
                    0.000902482127631215,
                    -0.002723556657171788,
                    0.004352569112935104,
                    -0.0074130613280884855,
                    -0.0003769714470253593,
                    0.007872990257091143,
                    -0.00508229898123381,
                    0.0031509053034173102,
                    -0.00980769000392752,
                    0.005398130209937651,
                    -0.006336389093480303,
                    0.0007463509154841474,
                    0.009015265911806973,
                    -0.003906365127011538,
                    0.0043848597030608435,
                    -0.008486960731379025,
                    -0.00018405699766623526,
                    -0.0049245628849803455,
                    0.003426518315672232,
                    -0.009424308969225569,
                    -0.0010858755778141763,
                    0.006080257288469629,
                    -0.00556487100685107,
                    0.0016220790642885662,
                ],
                [
                    0.005640300365627323,
                    -0.007269286315775901,
                    0.0010012940028153786,
                    0.009277191415505174,
                    -0.0036259227034421333,
                    0.0034668511785010615,
                    -0.008257812016861986,
                    -0.0011655964445611417,
                    -0.0047709104991266755,
                    0.0023158814300069494,
                    -0.009416734470939816,
                    -0.00232965241618523,
                    0.005937061687139409,
                    -0.006974761379398762,
                    0.0012882057159355688,
                    0.008369141375334682,
                    0.004752964052811845,
                    -0.008165283620097044,
                    9.519780166055562e-5,
                    0.0071747271046457865,
                    -0.004567172933496418,
                    0.002509912692219421,
                    -0.009233295537015714,
                    -0.002159130214337188,
                ],
                [
                    -0.4264013903222867,
                    -0.3486537686081668,
                    -0.34506519128321855,
                    -0.38366055239814295,
                    -0.3068572223356887,
                    -0.17591633501409867,
                    -0.011644480865385224,
                    0.07456901220584891,
                    0.19853532517056555,
                    0.2505681335522637,
                    0.270997288164383,
                    0.2938444658815803,
                    0.34251499978145683,
                    0.4071129085278122,
                    0.4736084419752861,
                    0.498957631633358,
                    0.4154335608217951,
                    0.22205722050666116,
                    0.054874144710161214,
                    -0.029428479505172474,
                    -0.12204129500584124,
                    -0.19585282087385789,
                    -0.3240956799948225,
                    -0.7084123906926519,
                ],
                [
                    0.030221968826556485,
                    0.03965295810710957,
                    0.03232252502511945,
                    0.04328973511753221,
                    0.02709060557420106,
                    0.03026597568345053,
                    0.02787674879790201,
                    0.016791432182501283,
                    0.0155349076723135,
                    -0.0011528738284387078,
                    0.003469439528297674,
                    -0.012137085022609916,
                    -0.0070696352955345355,
                    -0.0009047569683410904,
                    -0.0123855975430801,
                    -0.014610452066365253,
                    -0.00471417140315734,
                    0.01144355264714745,
                    0.009715503452076587,
                    0.02222509686432524,
                    0.040389403272133965,
                    0.04894191687034132,
                    0.0942586581780775,
                    0.1613255244003343,
                ],
                [
                    -0.0035671336254815664,
                    0.003519951650901226,
                    -0.008211268617681606,
                    -0.0011236943739978856,
                    0.007145409540884629,
                    -0.005766851176338406,
                    -0.009379643156453772,
                    -0.002292010231159668,
                    0.005976606050439664,
                    -0.00693546353800767,
                    0.0013337817572619108,
                    0.008421490593172773,
                    -0.00330939248084328,
                    0.0037786645052410536,
                    -0.00795240271234116,
                    0.00725328570401341,
                    -0.004477650308105554,
                    0.002610002335209239,
                    -0.009121302092155198,
                    -0.0020334024928705067,
                    0.006235514650528629,
                    -0.006676625633342542,
                    0.00041146410029530613,
                    -0.0032008133220132228,
                ],
            ],
            biases: [
                -0.008646231207003436,
                -0.7254339645791711,
                0.009344159534014391,
                0.0020730404229259494,
                -0.001020991187997969,
                -2.3531854321137224,
                -0.0072084106924373585,
                -0.002620630385519266,
                -0.004641261495040261,
                -0.008371978821238241,
                0.009749490609675716,
                0.005452823418162667,
                0.0012178777637303958,
                -0.0015335745681861193,
                0.0006397638073970181,
                -0.008114935388205808,
                0.009465554414553408,
                0.006517926801749138,
                0.00259943582040542,
                0.0023336610284746912,
                0.005334420889949204,
                0.00289452077165976,
                -0.0027259264612263085,
                0.0010816923717709617,
                -0.009021476342307051,
                0.013854464427902096,
                0.004999849710069315,
                0.002147581634926477,
                0.28712277711189865,
                -0.01393250518280522,
                -0.006003938504746163,
                0.010413093701294212,
                0.005970807120369378,
                -0.31422895021894526,
                0.030224247278673066,
                0.003921978745390701,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    -0.006600699999999999,
                    0.4009718105347866,
                    0.04180514414151906,
                    -0.0030141479058034266,
                    0.004113100000000001,
                    0.060350149520555035,
                    -0.0005300000000000005,
                    0.006807835890213541,
                    -0.017240033372162098,
                    -0.008810603665100603,
                    -0.012771625863231021,
                    0.0033671313185845582,
                    -0.010058282821120717,
                    -0.016640483225435175,
                    0.035399424666321615,
                    -0.00271516,
                    -0.010405999582510567,
                    -0.017524948759874013,
                    0.007515922764937987,
                    -0.043849399401846643,
                    0.010573229967658323,
                    0.003947070892922422,
                    -0.0030518605544818554,
                    0.03364315973319642,
                    0.002036500000000001,
                    0.040508252487439916,
                    -0.002956564268361668,
                    -0.005290446485491328,
                    0.3113404536012826,
                    0.0006088421400293316,
                    0.02244774425250406,
                    -0.002590597456868135,
                    0.0005825105489824858,
                    -0.1709114440236668,
                    0.07636551713479256,
                    -0.006722465354775892,
                ],
                [
                    -0.00943488,
                    0.3924013784739384,
                    0.04136398318892366,
                    -0.005847259482970995,
                    0.009397059999999999,
                    0.05873120884571022,
                    0.004753959999999999,
                    -0.005072296206854905,
                    -0.01605532835247944,
                    0.007184799113957832,
                    -0.016070728948884273,
                    -0.00037712404473712585,
                    -0.0033164130514185494,
                    -0.00983779870667409,
                    0.024941400568590684,
                    0.0013874800000000008,
                    0.008480156573503686,
                    -0.019713022439167432,
                    0.004692406769584033,
                    -0.04114203269391958,
                    0.016697765373576184,
                    0.009750087686736469,
                    0.0035291133555035445,
                    0.023219045036404505,
                    -0.0007976799999999995,
                    0.04122051712619511,
                    -0.005122763915159187,
                    -0.00691634977447278,
                    0.30832759422651607,
                    0.01897038126287416,
                    0.012600596639567014,
                    0.004794104549772248,
                    0.006972654406152706,
                    -0.1610196735752811,
                    0.07752559213021022,
                    -0.009544848793729742,
                ],
                [
                    -0.0053322199999999995,
                    0.37902001186735435,
                    0.025350009651133962,
                    -0.0017461420345919556,
                    0.0053815799999999995,
                    0.05628489711641798,
                    0.0007384799999999992,
                    0.0015313320522413636,
                    -0.007258443953343985,
                    -0.007500475814051546,
                    -0.012495604876473543,
                    0.005242273093258779,
                    -0.005456490284382958,
                    -0.011460760316442544,
                    0.02598644189855435,
                    0.00667144,
                    -0.008558838855403997,
                    -0.010959270028013028,
                    0.00880803039201914,
                    -0.025524501371529357,
                    0.012845073455786848,
                    0.005115827164042343,
                    0.00023000715872979603,
                    0.045170184218368326,
                    0.003304959999999999,
                    0.03144964744323463,
                    -0.0005831800996396072,
                    -0.002341252110785902,
                    0.2969741817953999,
                    0.03440508547025392,
                    0.032387210652510524,
                    0.0027403100382085497,
                    -0.008304743069251658,
                    -0.14316065810735382,
                    0.08475038476071893,
                    -0.004219535444208559,
                ],
                [
                    -0.0081664,
                    0.35927460885507045,
                    0.038898414295642336,
                    0.0023630564539035693,
                    -0.009334480000000001,
                    0.055004524520572265,
                    0.00602242,
                    -0.0026335247748681106,
                    -0.005788639798226894,
                    0.00849132963576728,
                    -0.016468870348599847,
                    -0.010210632865250346,
                    0.0022868268526434147,
                    -0.006540540764216657,
                    0.03457081301994249,
                    0.0026559599999999993,
                    -0.01386893946745794,
                    -0.011614342194231691,
                    0.00602003737718371,
                    -0.010261199157998968,
                    0.016973559438041595,
                    0.007243392996635495,
                    0.005820073066008286,
                    0.03206489797616146,
                    0.00047077999999999953,
                    0.04870973865434568,
                    -0.0031129461908415263,
                    -0.019171779425617656,
                    0.27973475439900264,
                    0.055542299397342204,
                    0.021361840486051713,
                    0.006169269528480484,
                    0.008134511085900525,
                    -0.1219999669305338,
                    0.07763319541794644,
                    -0.008162521749132123,
                ],
                [
                    -0.00406376,
                    0.34206015248030036,
                    0.01806397386737993,
                    -0.00046931460027453865,
                    0.006650039999999999,
                    0.05582811212188373,
                    0.002006939999999999,
                    0.0034508660547472583,
                    0.003067923232639232,
                    -0.006168947619325655,
                    -0.013332604501608378,
                    0.007435270151830573,
                    0.0010420151025549644,
                    -0.007536199629764049,
                    0.03168748324190174,
                    0.0079399,
                    -0.01177239669566601,
                    -0.0024753363090150517,
                    -0.00984764377427101,
                    0.0006655223971861663,
                    0.011641699136344838,
                    0.0005811423955428806,
                    0.002004321978737708,
                    0.03925289302167037,
                    0.00457344,
                    0.03520421469481571,
                    0.0021663314464665986,
                    -0.0022086076184141394,
                    0.25259756608457745,
                    0.07351237065186868,
                    0.021391979237081502,
                    0.012567540248598406,
                    -0.005422480118308914,
                    -0.094945505067668,
                    0.07844047901589829,
                    -0.0039957206094705265,
                ],
                [
                    -0.00689794,
                    0.3222172424188946,
                    0.015403525202597804,
                    0.003643621684370153,
                    -0.008066,
                    0.059391461001906905,
                    0.0072909,
                    -0.0015758578304136477,
                    0.0037411628172645045,
                    0.009845910809681226,
                    -0.00789416053258732,
                    -0.007827267429277493,
                    0.007184072357063449,
                    -0.000815273355046032,
                    0.03183415867344752,
                    0.00392442,
                    -0.016021770588264796,
                    -0.003095734921127504,
                    -0.004503273361435845,
                    0.015812527264527355,
                    -0.004173508331008948,
                    0.00010943349023462604,
                    0.006979505758844198,
                    0.03030646837186287,
                    0.0017392600000000003,
                    0.045250598942234634,
                    0.00031957301347954525,
                    -0.018586601599190948,
                    0.21302417382813915,
                    0.08088378882437006,
                    0.025995786343682787,
                    0.011257296056671556,
                    -0.007529640592064052,
                    -0.05760853745096673,
                    0.05892835572846279,
                    0.0014701008159537516,
                ],
                [
                    -0.00279528,
                    0.3028613275452975,
                    0.006950043252206882,
                    0.0008184575459651574,
                    0.00791852,
                    0.06579060841608649,
                    -0.00860646,
                    0.00416217395894239,
                    0.009962566301899794,
                    -0.004832913709431608,
                    -0.010163131460384845,
                    -0.010487665874339183,
                    0.002447461344973811,
                    -0.0009075349363317976,
                    0.02864070354104685,
                    0.00920838,
                    -0.011716588997851397,
                    0.003023715603306158,
                    -0.008478788246387708,
                    0.017691660550642453,
                    0.011551774379685065,
                    -0.00261695949798219,
                    -0.00880556553359983,
                    0.02767640604199154,
                    0.0058419,
                    0.023224504271477757,
                    0.0047376719725507966,
                    -0.0006775640775170775,
                    0.1754651186459111,
                    0.070572824248048,
                    0.030180187749494148,
                    0.016362605959467726,
                    -0.0011792240367248488,
                    -0.02676843132623727,
                    0.03001604715924518,
                    -0.002466524670154941,
                ],
                [
                    -0.005629459999999999,
                    0.2755075603938683,
                    0.009653248388827008,
                    0.00492551523837584,
                    -0.0067975399999999995,
                    0.07246592830927079,
                    0.00855936,
                    -0.0034245275118583635,
                    0.0047209226023721095,
                    -0.008934251814070635,
                    0.0031782188707499405,
                    -0.006176829705763292,
                    0.001523382603550994,
                    0.004218664367222101,
                    0.009170575383209027,
                    0.0051929,
                    -0.011646529043157739,
                    0.0007663319447661799,
                    -0.0031732534353755807,
                    0.012209539189582232,
                    -0.002403505541434999,
                    0.0021066301165280463,
                    0.008977495435411527,
                    0.006250746651464365,
                    0.0018264199999999996,
                    0.00925972956381392,
                    0.009439144961334781,
                    -0.012779728080309347,
                    0.13637040958884675,
                    0.051656372544592134,
                    0.01517863800381046,
                    0.014924650905421598,
                    -0.0033222502269281084,
                    0.012156498660992401,
                    0.021162850326345975,
                    0.0028594059691190647,
                ],
                [
                    -0.00152682,
                    0.247610822194903,
                    0.012454356289557444,
                    0.0020912304006054706,
                    0.00918698,
                    0.07815117656894867,
                    -0.007337979999999999,
                    0.011032984638681225,
                    0.010524811716053293,
                    -0.003766260152354706,
                    0.0007180084158112604,
                    -0.009125818487048862,
                    -0.0001904394524113454,
                    -0.007850394837373405,
                    0.008532431374585515,
                    -0.009523160000000001,
                    -0.005027767534238773,
                    0.0020907935174450613,
                    -0.0071911698925005195,
                    0.006822323001782823,
                    0.012473263713752906,
                    0.020405571228636087,
                    -0.005873696534718511,
                    0.005356489687246298,
                    0.00711038,
                    0.006771554685400707,
                    0.005589230340281829,
                    0.006698070278611931,
                    0.10337626698062438,
                    0.021148064311227226,
                    0.023940742779982357,
                    0.014136329214329212,
                    0.0001268765033487118,
                    0.04760934377111262,
                    0.005409922671035449,
                    -0.0011428261715542148,
                ],
                [
                    -0.004361,
                    0.22989397925102062,
                    0.015365135716584277,
                    0.006197076449414659,
                    -0.00552906,
                    0.0828883439087933,
                    0.009827840000000001,
                    0.002897341666525606,
                    0.004653051771650389,
                    0.00028826681608469046,
                    0.011205532320320483,
                    -0.004968188146172087,
                    0.001692092061286994,
                    -0.01154107863781801,
                    -0.004651239679787024,
                    0.00646136,
                    -0.005996783745601019,
                    0.008190636405604622,
                    -0.0018990588678699754,
                    0.0050638144208901,
                    -0.00219951012104847,
                    0.015061202044683175,
                    0.010965662675047123,
                    -0.008945465726922801,
                    0.0030949000000000003,
                    0.006349483875829954,
                    0.009298205714128087,
                    -0.004595641861343282,
                    0.08096719120243764,
                    -0.002848945558512203,
                    0.011794747552166208,
                    0.011664209239384436,
                    -0.0028505793579887543,
                    0.07045386819318747,
                    0.005034500993521889,
                    0.004158207027802268,
                ],
                [
                    -0.00025834000000000024,
                    0.21513997138849308,
                    0.016015434466508847,
                    0.003365075617329748,
                    -0.0014264200000000005,
                    0.08450500796095145,
                    -0.006069519999999999,
                    0.015335154979629891,
                    0.01164087114640895,
                    -0.0025680329425155674,
                    0.006534386817368295,
                    -0.007747850862635482,
                    0.00133806874722659,
                    -0.0039384766816428956,
                    -0.00035778529690644594,
                    -0.00825468,
                    -0.0018568106293312958,
                    0.003239062302116308,
                    -0.0059171993334805,
                    0.005409389800930066,
                    0.012586637208485211,
                    0.028512479636628042,
                    -0.0032532938128739565,
                    -0.006074509830703102,
                    0.00837884,
                    -0.0011763838061133304,
                    0.0063011380555415926,
                    -0.006999988659931579,
                    0.0642122795512625,
                    -0.009017909760060415,
                    0.023982177612849754,
                    0.012887414153454915,
                    0.001354106385997831,
                    0.08495262466468767,
                    -0.004898323452117862,
                    0.00015848738588902775,
                ],
                [
                    0.005025599999999999,
                    0.20356056792612176,
                    0.017494019698567707,
                    0.007469337850551729,
                    -0.0042606,
                    0.08654454670387306,
                    -0.0089037,
                    0.005910613865524196,
                    -0.00538683918502932,
                    0.0015001903167413066,
                    0.01540966381773641,
                    -0.0033192246340833374,
                    0.003539396261802764,
                    -0.008084035213187358,
                    -0.007215631696052252,
                    0.007729839999999999,
                    0.004891733233596734,
                    -0.0096879812490122,
                    -0.0018042202692559826,
                    0.00640037655865601,
                    -0.002528151334079459,
                    0.019162486477825546,
                    0.01297588695638079,
                    -0.013043289584223813,
                    0.00436336,
                    0.0028155116539120514,
                    0.010398923977393676,
                    -0.0005177161345071762,
                    0.05019442844886171,
                    -0.015338222906929001,
                    0.012971784157856478,
                    0.011811810182581336,
                    -0.0014871650826083808,
                    0.09735103108513184,
                    -0.0017871098423242163,
                    0.005480150815488148,
                ],
            ],
            biases: [
                0.05762019787174012,
                0.05468730789280507,
                0.05244588794294438,
                0.05276075266062074,
                0.059503254030935766,
                0.07868964265497916,
                0.10983798261906887,
                0.1455833197293692,
                0.17923851063126867,
                0.20397131414687275,
                0.21685648251667028,
                0.2276447952417792,
            ],
        },
    }
}

pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    0.42744634445080226,
                    0.3464891200889955,
                    0.2993720250683245,
                    -0.2623420516618842,
                    -0.4399239544021631,
                    -0.8805216798635933,
                    -1.277221682477305,
                    -1.0166480004267446,
                    -0.6107178676317246,
                    -1.2553894810977124,
                    -1.059187471499149,
                    -1.4185825784335682,
                    -0.907880055079098,
                    -0.4270142548517575,
                    -0.10841665511404633,
                    0.42007499149510397,
                    0.011921737555441323,
                    0.08357408561096341,
                    0.3548607959649607,
                    0.39352983630842775,
                    0.7172412653340512,
                    0.34513867465712755,
                    0.9236993450270372,
                    1.0588896255140658,
                    0.6355907462673018,
                    0.507372932465268,
                    0.5755006890579482,
                    0.6038188243763499,
                    0.3913294965651433,
                    0.3183332988882255,
                    0.03546187387921928,
                    -0.050715817311737126,
                    -0.21578900097934697,
                    -0.24190496682082427,
                    -0.4126878137955782,
                    -0.3958586390849705,
                ],
                [
                    -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.015276003756320747,
                    -0.1043288187730104,
                    -0.1206887443345173,
                    -0.17473242144265771,
                    -0.2792136758465216,
                    -0.06920513298225459,
                    0.07870263834847151,
                    0.2874031251458933,
                    0.51306570466991,
                    -0.05307456983738399,
                    0.139067958257542,
                    0.21772386394099522,
                    0.3608666762173362,
                    0.2926903950233656,
                    0.022925370580931193,
                    0.32128191155342495,
                    0.500582328514254,
                    0.5682425954017492,
                    0.1612956646260984,
                    -0.3479459691920325,
                    -0.7300587999779811,
                    -0.89020175483205,
                    -0.6656837765507624,
                    -0.5443539882620376,
                    -0.5020492738913255,
                    -0.619722506683402,
                    -0.5334933461018396,
                    -0.6220083179591622,
                    -0.4944451096163488,
                    -0.30581784722291494,
                    -0.31366505404743994,
                    -0.09377601228332874,
                    -0.019460097094817767,
                    0.14568913960197885,
                    0.07477153734734644,
                    0.19990536251422378,
                ],
                [
                    -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.11964088071698378,
                    0.17563467152218204,
                    0.0477950826751969,
                    0.07535996847174144,
                    -0.10084596269947439,
                    -0.08178349650978335,
                    -0.04410145503662,
                    -0.1271538633497763,
                    -0.2510994887395014,
                    -0.20673231602187941,
                    -0.14100955658242714,
                    -0.2993150345638269,
                    -0.2028987516127573,
                    -0.09645045493661604,
                    -0.19571934153503628,
                    -0.20722182650966664,
                    -0.14124076971436295,
                    -0.09717967089124176,
                    -0.19318250835093043,
                    -0.10520767503717232,
                    -0.19398777728465944,
                    -0.06876913761773636,
                    0.13326140805669928,
                    0.14057606771045633,
                    -0.02375103771736988,
                    0.0439457807653463,
                    0.1234485479494395,
                    -0.0132391219346438,
                    0.05061422303416391,
                    0.10290602703286637,
                    -0.049473515719077016,
                    -0.12321983790707487,
                    -0.0662825851630206,
                    -0.0199346420187038,
                    -0.13911529060771038,
                    -0.07914630656555363,
                ],
                [
                    -0.8242171897721993,
                    -0.6797933358648341,
                    -0.7721230926019782,
                    -0.472139424848828,
                    -0.3055652177343337,
                    0.07854156773945542,
                    0.11831894139697,
                    0.2864842119960435,
                    0.20344539401286896,
                    0.20327237870916517,
                    0.28470111430576484,
                    0.40057250924631965,
                    0.340805002032957,
                    -0.004630247763267767,
                    0.058290280036592125,
                    0.09209100590562472,
                    0.2743600623396424,
                    0.6950549976200601,
                    0.7329388472858384,
                    0.9754305091704053,
                    0.6886248583665161,
                    0.34599466445650545,
                    -0.5908397430094353,
                    -0.9641697401263375,
                    -0.5897193363535074,
                    -0.6787563684363717,
                    -0.5960884927772907,
                    -0.6071035890252897,
                    -0.45832156995307977,
                    -0.5515091584741766,
                    -0.3206829707146418,
                    -0.14030056815258,
                    -0.14915865071348305,
                    0.06295711994016671,
                    -0.09462370198945227,
                    0.12101769628489141,
                ],
                [
                    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.012211828442010216,
                    0.08070924393946144,
                    0.0480826365677161,
                    -0.08434775552218232,
                    -0.0040005910550513,
                    0.06238833023661301,
                    -0.061044352318757676,
                    0.004893045772373958,
                    0.09004665416857426,
                    -0.039211634077876215,
                    -0.07988367933207995,
                    -0.013686134556660364,
                    0.06966185674238588,
                    -0.05456848805827828,
                    0.02547008665825278,
                    -0.10717470281168254,
                    -0.03244887777221688,
                    0.041657147849218874,
                    -0.060867773700184945,
                    0.10053941170583003,
                    -0.017578609529963717,
                    0.047569641969423315,
                    -0.06713966125861559,
                    -0.0024494973722410207,
                    0.081580182647157,
                    -0.04737431269400918,
                    0.035111675767302224,
                    -0.012626119058032082,
                    0.06924839817657172,
                    -0.061237009677169295,
                    0.020183943296649163,
                    -0.11037553653724845,
                    -0.028743188914052455,
                    0.04137028161161109,
                    -0.07608863373296763,
                    0.07549488631151031,
                ],
                [
                    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.11538658964199805,
                    -0.03490564120054988,
                    -0.08446869502545533,
                    -0.19518284482624837,
                    -0.09771007633554697,
                    0.027222238878142884,
                    -0.05991205228767981,
                    0.0527738096542648,
                    -0.05592876636114329,
                    0.05492877390803164,
                    0.020534326347347875,
                    0.1208765456085682,
                    0.19619694236268476,
                    0.07591128210338133,
                    0.14322791557918443,
                    0.02364924643006674,
                    0.08697035227400193,
                    0.14524544470477288,
                    0.06189296544423912,
                    -0.08671115939145403,
                    -0.04816407631498518,
                    -0.000672131752269682,
                    -0.17446157407995558,
                    -0.12281401422466089,
                    -0.22111676388947285,
                    -0.13820800206837502,
                    -0.18347209936253334,
                    -0.09478395068564158,
                    -0.011104121816199873,
                    -0.10763497366897361,
                    -0.01093488270320653,
                    -0.10182116669047152,
                    -0.007550458661281779,
                    0.08095837826793524,
                    0.054041557826090596,
                    -0.06630900893295572,
                ],
                [
                    0.060299440933092134,
                    -0.06893262142751101,
                    0.01400882620188111,
                    0.08525539835114201,
                    -0.03127764002813087,
                    0.040636243882720774,
                    0.005818772221733452,
                    0.0784182677611891,
                    -0.03736188125446572,
                    0.034518572571178754,
                    -0.0819487749384319,
                    -0.010447984380486636,
                    0.07261844462192539,
                    -0.05624072752264614,
                    -0.09250641391899131,
                    -0.022739299648265602,
                    0.058661057742394176,
                    -0.07136837644452003,
                    0.01009590302762209,
                    0.07973907351246827,
                    -0.038864372674905216,
                    0.03082878951743278,
                    -0.006521557436226661,
                    0.06382569879213548,
                    -0.053392544496312234,
                    0.017480417710147262,
                    -0.09972576132173198,
                    -0.028585603574956372,
                    0.054643458288887524,
                    -0.07362304077561195,
                    0.09135202188833089,
                    -0.03664634935607307,
                    0.04704777171488705,
                    -0.08134609241023737,
                    0.0017456612506731425,
                    0.07300266556123966,
                ],
                [
                    0.28910720769005194,
                    0.19726462595287958,
                    0.36459930175945116,
                    0.23735776202546408,
                    0.272587031714135,
                    0.46668266571339967,
                    0.3810924493895574,
                    0.4012422402232401,
                    0.1518338632255196,
                    0.2734320086628156,
                    0.0019599555960523826,
                    0.023196074317774863,
                    -0.1618264619420657,
                    -0.06630878928499226,
                    0.0338900511970451,
                    -0.03747997486421152,
                    0.15698267730686868,
                    0.01657637637766937,
                    0.21119298206176584,
                    0.09072458246782665,
                    0.12150268194330045,
                    0.10579553351134202,
                    -0.033518124444523116,
                    -0.049496602832961284,
                    -0.10445350085270298,
                    -0.01861797628581179,
                    -0.0604922580648412,
                    0.02772973506601239,
                    -0.09623185996642909,
                    -0.010446939725545333,
                    0.056832752711641295,
                    -0.06535559697353811,
                    -0.0002224583800691949,
                    0.07713758425874066,
                    0.028868510340761277,
                    -0.0896932482030473,
                ],
                [
                    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.03756931421808973,
                    -0.1123765455356951,
                    -0.07169431804335122,
                    -0.1991677162826249,
                    -0.11756068969511715,
                    -0.25327521926128305,
                    -0.1393871115443679,
                    -0.10396551950806433,
                    -0.24641551990516322,
                    -0.1985403978426277,
                    -0.10394495773180272,
                    -0.04810689019073258,
                    -0.1843129965667384,
                    -0.10641930737302635,
                    -0.021066630279955464,
                    -0.16248680548450656,
                    -0.10658965323149272,
                    -0.20256560429352038,
                    -0.161437983922352,
                    -0.26225204563217575,
                    -0.157834462133891,
                    -0.28998627896654716,
                    -0.17161142455691367,
                    -0.11071981804611984,
                    -0.0692326977909346,
                    0.0791142769871079,
                    -0.04335068319349045,
                    0.02244113666017857,
                    -0.0975124445740706,
                    -0.018950173191572512,
                    0.08539705099141764,
                    -0.013077637550934886,
                    0.10018811336996318,
                    -0.005955444858443605,
                    0.1691251205806274,
                    0.04857753917224621,
                ],
                [
                    -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.0012272786469435526,
                    -0.03151746093708857,
                    -0.1900552555522548,
                    -0.2629332497035591,
                    0.010024102727554465,
                    0.27438347215001524,
                    0.5116857263376667,
                    0.328339362512616,
                    -0.1722902864818803,
                    -0.18096286986614604,
                    -0.3095486546501816,
                    -0.021728884922211388,
                    -0.29926169584990114,
                    -0.39548182921932484,
                    -0.6881087612731224,
                    -0.42616116861997577,
                    0.38743849396517627,
                    0.9968358154734525,
                    1.5586737929782744,
                    1.5754209690495944,
                    1.3416893185647305,
                    0.9187210442318016,
                    0.2991060556331546,
                    -0.13361754138592533,
                    0.016965154643627616,
                    -0.013501729950733891,
                    0.0673650261319118,
                    0.15894436583958504,
                    0.03542949259255399,
                    0.11024684906645375,
                    0.15077230320141286,
                    -0.008522082831945929,
                    0.018690442011641096,
                    -0.05062038816342568,
                    0.006123484224281194,
                    -0.12336801128072351,
                ],
                [
                    -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.2820701965215757,
                    0.5770786424031676,
                    0.5123492179992043,
                    1.1988832101111737,
                    1.2705562010029807,
                    0.8482189774936136,
                    0.9321252254303837,
                    1.0359791428610674,
                    1.610999134633655,
                    1.4497750956922602,
                    1.658168318710395,
                    1.2153923576641552,
                    1.0246626826603757,
                    0.8452880916891169,
                    0.8213526447350329,
                    0.6857075505083119,
                    -0.34445434352308185,
                    -1.6667225017364655,
                    -3.2794243405000825,
                    -3.7640124540273874,
                    -3.1455238365416403,
                    -2.388599444043286,
                    -0.7497806764271588,
                    0.7216996998931973,
                    0.2597491204484935,
                    0.11721941636455416,
                    0.18055739908433774,
                    0.24718405844684307,
                    0.15372448831100352,
                    0.27608593282050764,
                    0.23638991162378126,
                    0.38353621998529763,
                    0.5291322912322532,
                    0.5305503042189044,
                    0.43518153803361076,
                    0.5300809741376036,
                ],
            ],
            biases: [
                1.5242660990002355,
                -0.08849540002418868,
                1.9198566465029188,
                -0.06399780009135873,
                0.19483703045466533,
                0.4124215631757178,
                -0.0796548000360566,
                -0.01324559104118067,
                -0.06697019999450254,
                0.12663047281046533,
                -0.04235064335437128,
                0.0003064926781532312,
                -0.029787800089000144,
                1.3879963761553111,
                -0.017103000305655668,
                -1.3724676440206105,
                0.0073946002897478874,
                -1.3317865764181838,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    0.18234032437451095,
                    -0.043630999999999996,
                    0.2641478428517428,
                    -0.008880600000000006,
                    0.1927332968423842,
                    -0.21176938711738721,
                    0.015566400000000003,
                    0.054517135331564166,
                    -0.0308646,
                    -0.09480749986005556,
                    -0.08194865765381305,
                    0.0408725951147119,
                    -0.0425454,
                    0.4275077828478002,
                    -0.0889764,
                    0.02534345477086265,
                    0.0645926,
                    0.11584704514024796,
                ],
                [
                    0.17011192697069666,
                    0.052912,
                    0.3035965159066464,
                    0.006481000000000003,
                    0.10617394607297755,
                    -0.046880254972686365,
                    0.030928,
                    -0.08424392460694785,
                    -0.015503,
                    -0.046861542846061185,
                    0.018059383956676472,
                    0.019086224115406374,
                    -0.0271838,
                    0.3201554259400315,
                    -0.07361480000000001,
                    0.04035812850620226,
                    0.0799542,
                    0.10476992014927522,
                ],
                [
                    0.20058902360752928,
                    0.0682736,
                    0.3653203857465187,
                    0.0218426,
                    -0.07208550400473594,
                    -0.018748578669537178,
                    -0.0725292,
                    0.012716930074068525,
                    0.0810398,
                    -0.028476427715499002,
                    0.031333573392347894,
                    -0.013734776310563735,
                    -0.011822200000000005,
                    0.19812898264463696,
                    -0.058253200000000005,
                    0.048724094351830644,
                    -0.0235028,
                    0.1357792482958315,
                ],
                [
                    0.2575133191026105,
                    0.08363519999999999,
                    0.3815668255187421,
                    0.0372042,
                    0.043619623575274935,
                    -0.1769566326465201,
                    -0.057167600000000006,
                    -0.0344856128070789,
                    0.0964014,
                    -0.06874344405812739,
                    0.040627977083995424,
                    -0.05192102652819878,
                    0.0847208,
                    0.08035057643912417,
                    0.0382898,
                    0.033482564038486144,
                    -0.008141200000000005,
                    0.1701515241520935,
                ],
                [
                    0.3733632818295635,
                    -0.019821999999999996,
                    0.42118765594103647,
                    -0.066253,
                    0.06638027226002033,
                    -0.2755781001064551,
                    -0.041805999999999996,
                    -0.07801543552491036,
                    -0.088237,
                    -0.07007418588241345,
                    -0.09040567110957483,
                    -0.09583909128703152,
                    -0.0999176,
                    -0.12347300224418516,
                    0.053651399999999995,
                    0.028475405240753558,
                    0.007220399999999993,
                    0.21752843606120328,
                ],
                [
                    0.4498058116766299,
                    -0.004460399999999998,
                    0.44929007044196495,
                    -0.050891399999999996,
                    0.08198206379216376,
                    -0.28234180896400074,
                    -0.014631400000000006,
                    -0.15714788956707107,
                    0.00830599999999999,
                    -0.1086210145026551,
                    -0.04109594083740408,
                    -0.10149870831986,
                    -0.08455599999999999,
                    -0.30927477581730156,
                    0.06901299999999999,
                    0.021381092643650564,
                    -0.0962368,
                    0.2166281649336416,
                ],
                [
                    0.5218068627759176,
                    0.01090120000000001,
                    0.43640873342029324,
                    -0.0355298,
                    0.04588349847023514,
                    -0.3139134586041102,
                    0.0819116,
                    -0.1281696353235962,
                    0.02366760000000001,
                    -0.24677594585097049,
                    -0.04613462985994048,
                    -0.08945205050883527,
                    0.01198680000000001,
                    -0.42528631246427867,
                    -0.0344442,
                    -0.0035651296897704246,
                    -0.08087520000000001,
                    0.2298715072585596,
                ],
                [
                    0.5085963372927602,
                    0.02626280000000001,
                    0.40473993561487487,
                    0.06101319999999999,
                    0.005154892367993992,
                    -0.2653140128326093,
                    0.09727319999999999,
                    -0.09826920511498582,
                    0.03902920000000001,
                    -0.22988283090026304,
                    0.06066909738365115,
                    -0.11002070560617332,
                    0.027348400000000005,
                    -0.4733952659231769,
                    -0.019082600000000005,
                    -0.02425934608955974,
                    -0.06551359999999999,
                    0.22998917438729546,
                ],
                [
                    0.49018711298329803,
                    -0.0771942,
                    0.4334542285335488,
                    0.0763748,
                    -0.010701012425104418,
                    -0.27298279644244294,
                    -0.0873652,
                    -0.01892484544209246,
                    -0.064428,
                    -0.16329718747021,
                    0.04726731137923694,
                    -0.0448261697340147,
                    0.042710000000000005,
                    -0.45887698580412684,
                    -0.0037209999999999964,
                    -0.0308619170962527,
                    0.031029400000000006,
                    0.2017845802322736,
                ],
                [
                    0.4676248159208239,
                    -0.061832599999999995,
                    0.44220620654985326,
                    0.09173640000000001,
                    0.05302384938340335,
                    -0.2594446072482999,
                    0.009177600000000008,
                    0.033296087717350924,
                    -0.049066399999999996,
                    -0.11391934562987538,
                    -0.09174920723320733,
                    0.04748160286243918,
                    0.0580716,
                    -0.42562792092264246,
                    0.092822,
                    -0.03746968506350299,
                    0.046391,
                    0.16823100632850713,
                ],
                [
                    0.4478860395854525,
                    -0.046471,
                    0.422476821211172,
                    -0.011720799999999998,
                    0.12950198381198064,
                    -0.24260090113763577,
                    0.024539200000000004,
                    0.05147997697179741,
                    -0.0337048,
                    -0.12882248054867265,
                    0.03942291199381548,
                    0.1938743311939254,
                    -0.0453854,
                    -0.35597315912149285,
                    -0.09181639999999999,
                    -0.07388217165721365,
                    0.061752600000000005,
                    0.12810871295278561,
                ],
                [
                    0.44399993654666864,
                    0.0500718,
                    0.392990426560003,
                    0.0036407999999999996,
                    0.31406543157003264,
                    -0.20573001822624498,
                    0.0399008,
                    -0.10406482838557077,
                    0.0628382,
                    -0.20816301867190887,
                    0.01732585423803983,
                    0.25218369054800316,
                    -0.0300238,
                    -0.3254323724639905,
                    -0.0764548,
                    -0.09458410538716432,
                    -0.0417046,
                    0.1017175005515385,
                ],
            ],
            biases: [
                -0.26146181055521084,
                -0.14697302294129036,
                -0.09550295645913891,
                -0.019469771672209105,
                0.003016448568348151,
                0.04891119936890398,
                0.06329027325968214,
                0.17339929527099282,
                0.14751827308748722,
                0.08262650821434614,
                -0.0231091865935496,
                -0.03126560949201097,
            ],
        },
    }
}

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.5135831747735367 0.490473006...
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.7197207013345235 2.696352258...
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.829579663396387 9.7800285982...
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.45876409251955 17.452521469...
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.19385849262752 -4.219841220...
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.573191937834963 12.55481245...
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.6209103900772917 -1.6251339...
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.850414290616463 14.82063192...
Truncated