CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:ToukoP
Submission time:2023-11-10 08:51:12 +0200
Language:Rust
Status:READY
Result:61
Feedback
groupverdictscore
#1ACCEPTED60.5
Test results
testverdicttimescore
#1ACCEPTED0.01 s7.88details
#2ACCEPTED0.01 s7.88details
#3ACCEPTED0.01 s7.75details
#4ACCEPTED0.01 s7.38details
#5ACCEPTED0.01 s8details
#6ACCEPTED0.01 s7.63details
#7ACCEPTED0.01 s6.88details
#8ACCEPTED0.01 s7.13details

Code

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

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

pub const LEARNING_RATE: f64 = 0.012;

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

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

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

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

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

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

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

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

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

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

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

        layer
    }

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

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

        result
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    let mut data = Vec::new();

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

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

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

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

    let neural_net = get_neural_network();

    let question_mark_net = get_question_mark_network();

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

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

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

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

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

        let mut input_buffer = [0.; 36];

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

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

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

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

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

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

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

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

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

pub fn get_neural_network() -> NeuralNetwork<INPUT_COUNT, OUTPUT_COUNT, 36, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    -0.006746986588669736,
                    -0.009014266652303917,
                    -0.0007451666762135255,
                    0.006342633373192264,
                    0.0027298735690419814,
                    0.009817673852109085,
                    -0.0019132257273602965,
                    0.0051745747281944955,
                    -0.006556324799306717,
                    0.0005314755032777222,
                    0.008800575752433806,
                    -0.004111624073289646,
                    -0.007724403929998394,
                    -0.0006366038540770546,
                    0.00763249607248482,
                    -0.005279704217124032,
                    0.002989395313221047,
                    -0.009922805272174274,
                    -0.002835005931779126,
                    0.005434093416031036,
                    -0.007478107236401326,
                    0.008909132095923724,
                    -0.004003068640332424,
                    0.004266030512601896,
                ],
                [
                    -0.1374718602771199,
                    -0.08858414226675812,
                    -0.046114997481435674,
                    0.005190541912769447,
                    0.030116549818844054,
                    0.08516104312210385,
                    0.10383948052418127,
                    0.1363880741491669,
                    0.10557632143475869,
                    0.09925183614325775,
                    0.07988818548323558,
                    0.05463662352258456,
                    0.0677658433833196,
                    0.07649687461438887,
                    0.13542568111360315,
                    0.17453923613327807,
                    0.16757339909079397,
                    0.16128536134366817,
                    0.19307176482933172,
                    0.2920783922561112,
                    0.47113648616756576,
                    0.7660533803575258,
                    1.1635503382596086,
                    1.7478975342452823,
                ],
                [
                    5.289888321010628e-5,
                    0.007170514928142816,
                    -0.004552689846927485,
                    0.010629545061255857,
                    -0.0011977933346659399,
                    0.005763266176429892,
                    -0.006122187234556654,
                    0.0008307759897317522,
                    0.008956944247097979,
                    -0.0040512319607136785,
                    0.004135342221359699,
                    -0.0007141333716333785,
                    0.007510213142376712,
                    -0.005413965034513239,
                    0.002880649595932594,
                    0.010051710698282163,
                    -0.0027462935965422643,
                    0.005718966931382826,
                    -0.00690420280742223,
                    0.009807933196393871,
                    -0.0027413618705124337,
                    0.005930219215342435,
                    0.013488009868925661,
                    0.0023157531562921514,
                ],
                [
                    -0.00656447492558349,
                    0.0017046236180520103,
                    -0.001908156993489079,
                    0.005179642690132218,
                    -0.007732557247015847,
                    0.0005365432339117237,
                    0.007624343430597159,
                    -0.004106556382713482,
                    0.002981242755577155,
                    -0.008749656548263113,
                    -0.0016618560588251717,
                    -0.005274616108214345,
                    0.0018131842383333643,
                    -0.009917714839882288,
                    -0.0028299152561202653,
                    0.005439184495836372,
                    -0.007473015775680165,
                    0.0007960834289538997,
                    0.007883882175005184,
                    0.004271101756941377,
                    -0.008641099192579091,
                    -0.0003719992459158372,
                    0.0067158006114559935,
                    -0.0050150984050534005,
                ],
                [
                    -0.00965819643234242,
                    -0.0013890964159235552,
                    -0.006183156440969015,
                    0.0020859434970898717,
                    0.00917374334601237,
                    -0.002557156869449866,
                    0.004530642867693577,
                    -0.007200257403056705,
                    -0.0001124576537122779,
                    0.008156642169794396,
                    0.0033625620354106383,
                    -0.008368338069744328,
                    -0.0012805381514468372,
                    0.0069885617876349945,
                    -0.005923638224191524,
                    0.0023454618712013316,
                    0.009433262106518858,
                    -0.0022976375779393786,
                    -0.007091697214534005,
                    0.0011774031495636083,
                    0.008265203479079159,
                    -0.003465696239455321,
                    0.0036221040235637656,
                    -0.008108795736298791,
                ],
                [
                    -0.0002029082512279985,
                    -0.002290365326734262,
                    -0.013605286089546429,
                    -0.004155059222354141,
                    0.007006721348857359,
                    0.0021262036215362596,
                    0.01723036018113653,
                    0.0333266335859346,
                    0.027073825007284526,
                    0.028110619801990026,
                    0.038273164828516996,
                    0.04953355730698577,
                    0.039132695305468944,
                    0.050309306758476245,
                    0.04036118248258221,
                    0.049129935485618385,
                    0.051511608912173885,
                    0.04033414197734488,
                    0.04143638835265009,
                    0.025471532078279614,
                    0.03107017728755848,
                    0.021216608067581168,
                    0.03269330041536453,
                    0.048257577105303165,
                ],
                [
                    0.004154380759685555,
                    0.00054162076473123,
                    0.007629420762916333,
                    -0.004101479256544262,
                    0.0029863206175647907,
                    -0.008744579588318344,
                    -0.0016567798640266436,
                    0.006612319866047457,
                    -0.006299880406252018,
                    -0.009912660597061175,
                    -0.0028248607533275056,
                    0.005444239123623493,
                    -0.0074679609765623415,
                    0.000801138946429314,
                    0.00788893891917154,
                    -0.0038419610036987068,
                    0.003245839200074572,
                    -0.0003669205010032827,
                    0.006720879815267916,
                    -0.0050100198893737805,
                    0.0020777803762484864,
                    -0.009653119375202617,
                    -0.0025653191299702146,
                    0.004522481146826952,
                ],
                [
                    0.010535409232385717,
                    -0.001168485065072168,
                    0.00594089365807556,
                    -0.005778356513573977,
                    0.0013260137845324748,
                    0.009623816664717504,
                    -0.0032696724927337886,
                    0.005010798347474498,
                    0.00021243839783772502,
                    0.008482439598241753,
                    -0.004436123278902407,
                    0.0038376695263035642,
                    0.010931998618316742,
                    -0.000776848169281625,
                    0.006353252931142517,
                    -0.005324466885129352,
                    0.009911206511008469,
                    -0.0029736907308684007,
                    0.0053566156886643845,
                    -0.0074728243293333135,
                    0.0009176473885329671,
                    0.00817282447936262,
                    -0.0033370526555124985,
                    0.004034620787441336,
                ],
                [
                    0.006566534250131607,
                    -0.005153638765167112,
                    0.0019463525545225543,
                    0.010226394292909564,
                    -0.00266818444488569,
                    0.005624715133763514,
                    -0.007268307257922019,
                    0.009130909078297068,
                    -0.0037788224865153643,
                    0.004491560274607485,
                    -0.008422247564867955,
                    -0.0001518395871206386,
                    0.0069383993328964305,
                    -0.005965410095653773,
                    0.0023195645786632337,
                    0.009425189642615572,
                    0.005818611494811163,
                    -0.005916705221239537,
                    0.0011711916279287904,
                    0.00826423011201781,
                    -0.003446315010934954,
                    0.003680883266455842,
                    -0.007991638280339811,
                    -0.0008187541419290411,
                ],
                [
                    0.0029913549010112304,
                    -0.008739541863955895,
                    -0.0016517419635732388,
                    0.006617356657188222,
                    -0.006294843874650718,
                    0.001974256499285041,
                    0.009062054698217166,
                    0.005449298239523828,
                    -0.007462900344677824,
                    -0.00037510141718102955,
                    0.007893997466235378,
                    -0.0050182004843813246,
                    0.0032508987412207743,
                    -0.00966130001907877,
                    -0.0013921990981706387,
                    -0.006186278944140933,
                    0.0020828217627648165,
                    0.00917061631471033,
                    -0.002560285163874821,
                    0.004527514174283358,
                    -0.007203386898164219,
                    -0.00011558695994963821,
                    0.008153512301644574,
                    0.0033594521932592443,
                ],
                [
                    1.8044580598238075e-5,
                    0.007109139298458513,
                    -0.0046155456850614646,
                    0.0036602224285370126,
                    -0.009224370748912834,
                    -0.002093491349459803,
                    -0.005658964572793859,
                    0.0014713435259032374,
                    0.009778129654589811,
                    -0.0031046065055395367,
                    0.0051861918813647335,
                    -0.007706350096384323,
                    0.0005790372483693703,
                    0.007681950600174347,
                    0.004084472414835115,
                    -0.008824507778756796,
                    -0.0005766087134176793,
                    0.006468283993108861,
                    -0.00530883660675738,
                    0.0017339618205244466,
                    0.009965950220214508,
                    -0.002972276932780523,
                    -0.006605448446033479,
                    0.0004671637238118375,
                ],
                [
                    -0.0031964229140423995,
                    0.0038913980404097818,
                    -0.007839489924229186,
                    -0.0007516565699549812,
                    0.007517442631385474,
                    -0.005394810069599269,
                    -0.00900748150604367,
                    -0.0019196048069806463,
                    0.006349613093098878,
                    -0.006562553032330176,
                    0.0017064607445080747,
                    0.008794229911186148,
                    -0.002936722485135858,
                    0.004151062213090849,
                    0.0005382563630484383,
                    0.007626070960220657,
                    -0.004104801370147264,
                    0.002983085049113601,
                    -0.008747752214474009,
                    -0.0016599396886958918,
                    0.006609031881951412,
                    -0.006303139061174779,
                    -0.009915955855937193,
                    -0.002828319975854515,
                ],
                [
                    -0.006209177339239983,
                    0.0008819453634754734,
                    0.009155260021351742,
                    -0.003753413970002377,
                    0.004522757516680768,
                    -0.00025981751988471896,
                    0.008020488478000742,
                    -0.004882168896120179,
                    0.003393427424936555,
                    -0.009513649458893964,
                    -0.001241466687859861,
                    0.005849730149757697,
                    -0.005878481167753379,
                    0.00933181317631203,
                    -0.002392471934598056,
                    0.00470014914913628,
                    -0.0070333715862239,
                    4.6773515487403625e-5,
                    0.008310042066998364,
                    -0.004605829359253505,
                    0.002483984039773139,
                    -0.0011196876465630978,
                    0.0059834847499225935,
                    -0.005723236415414481,
                ],
                [
                    0.009592344347142213,
                    -0.002137661301905541,
                    0.006132954748701835,
                    -0.006778194546249517,
                    0.009605897511706752,
                    -0.003314830437642853,
                    0.00493866195288486,
                    -0.007994920451713319,
                    0.0002514570285506827,
                    0.007324290316634857,
                    -0.00441722142004757,
                    0.002662714399067944,
                    -0.0009558802168378578,
                    0.0061286417953062096,
                    -0.005599079356577541,
                    0.0015038887000397643,
                    0.00861837125754494,
                    -0.00308483276007158,
                    0.004026888350313242,
                    -0.007684697526469356,
                    -0.0005797833403171764,
                    -0.004177401311696706,
                    0.002926683479294257,
                    -0.008785067718610184,
                ],
                [
                    0.007049425471654141,
                    -0.004677325198846985,
                    0.0035941950545454967,
                    0.010680964483196616,
                    0.00586838222633253,
                    -0.005888265508116033,
                    0.0011638914576740228,
                    0.009397935497168488,
                    -0.003553152658465472,
                    0.004689414458085821,
                    -0.008245819988634382,
                    5.7032778896324234e-6,
                    -0.004801963898947089,
                    0.0034584884668472245,
                    -0.00945499275738591,
                    -0.0011734625180147922,
                    0.005937601938406187,
                    -0.005752537945632537,
                    0.0013889257280332455,
                    0.009718864161021449,
                    0.004997142372116465,
                    -0.006650112005036527,
                    0.0005403752362765639,
                    0.008936819382346632,
                ],
                [
                    0.00324782206065682,
                    -0.00848307790101945,
                    -0.0013952778533513697,
                    -0.005008037834814822,
                    0.002079762124715985,
                    -0.009651137964096728,
                    -0.0025633381701781347,
                    0.005705761551990695,
                    -0.00720643875132286,
                    0.0010626610582783879,
                    0.008150460902024748,
                    0.004537680789240672,
                    -0.00837451930408126,
                    -0.00010541935444840592,
                    0.006982380702275219,
                    -0.00474851910009153,
                    0.0023392812000256774,
                    -0.009391618468129808,
                    -0.002303818173492816,
                    -0.005916577924331588,
                    0.0011712223320402588,
                    0.009440322620286499,
                    -0.0034718770215612423,
                    0.004797223437207331,
                ],
                [
                    0.00027597776553783284,
                    0.00854207281278228,
                    0.0037426730891199638,
                    -0.007994031095225413,
                    -0.0009116716615635427,
                    0.007351172828895238,
                    -0.0055608584641187635,
                    0.0027140936345700223,
                    0.009813266050242152,
                    -0.0019122915075605077,
                    -0.006699194917883189,
                    0.001574284723353561,
                    0.00866503871740522,
                    -0.0030645588146112996,
                    0.0040177649911644344,
                    -0.007724380428182292,
                    -0.0006473282061463247,
                    0.007614378697760038,
                    -0.0053024691634448945,
                    -0.008919460413318817,
                    -0.0018413630357942555,
                    0.006409787097614642,
                    -0.006529482568161926,
                    0.0017003582848683267,
                ],
                [
                    -0.0028641742815003032,
                    0.005405977862312325,
                    0.00061403934310016,
                    0.008885797330211519,
                    -0.004019514011706427,
                    0.0042591825600085745,
                    -0.008643719385083033,
                    -0.0003675422739243345,
                    0.006725860513104423,
                    -0.004999858228304442,
                    -0.00979043044432162,
                    -0.0015180353993200877,
                    0.005572702183618822,
                    -0.006155427304683264,
                    0.0009362197583003968,
                    0.00920830577119428,
                    -0.003703788333949045,
                    0.0045601942610249595,
                    -0.00024108165104978817,
                    0.008020257401934116,
                    -0.0048991077804335014,
                    0.0033637844124987954,
                    -0.009554471921184454,
                    -0.002471517260113918,
                ],
                [
                    -0.006033355008407781,
                    -0.009646124971530034,
                    -0.002558318834988049,
                    0.005710783815089464,
                    -0.007201413280736234,
                    0.0010676840198174233,
                    0.008155482125778546,
                    -0.0035754199426496964,
                    0.0035123888553557662,
                    -0.00010037663513390955,
                    0.006987423044095588,
                    -0.00474347391425945,
                    0.002344320758835843,
                    -0.009386592261041958,
                    -0.002298791253180595,
                    0.005970308951368745,
                    -0.006941893856648406,
                    0.008264027295596842,
                    -0.0034668673285479664,
                    0.00362093500279544,
                    -0.008109958166025194,
                    -0.0010221602285651022,
                    0.007246940241534757,
                    -0.005665267200395809,
                ],
                [
                    0.00013109805251122232,
                    0.007262733428975097,
                    -0.004415775052121116,
                    0.0038965008588679557,
                    0.011064784473986773,
                    -0.0005440427890696118,
                    0.006653720675652541,
                    -0.004990392054785651,
                    0.0021463420173239304,
                    -0.0014256737594962015,
                    0.005681291033961331,
                    -0.006020154096226338,
                    0.0010936863144702426,
                    0.008228688572540126,
                    -0.003424825597930773,
                    0.0037324447024074344,
                    0.011994540042542306,
                    0.007145741853792279,
                    -0.004617103301591995,
                    0.002464515779458726,
                    0.010795838841136267,
                    -0.0019677694769816233,
                    0.006533179277417626,
                    -0.006035214922934615,
                ],
                [
                    -0.0041037795524417175,
                    0.002984347843166357,
                    -0.00874633560494769,
                    -0.0016586559903099662,
                    0.0066100244612518925,
                    -0.006302407678819186,
                    0.0019663854853369735,
                    0.009054094082479997,
                    0.005441317120464345,
                    -0.007470841506946497,
                    0.0007980766021990711,
                    0.007885886113826191,
                    -0.0038451151141773157,
                    0.0032424543486507017,
                    -0.00848830825699018,
                    -0.0014003662059986492,
                    -0.005013122959549494,
                    0.0020748317251265067,
                    -0.00965552548864126,
                    -0.002567024916156908,
                    0.005702912729858076,
                    -0.007208424309885836,
                    0.0010613855358675961,
                    0.008149813916288938,
                ],
                [
                    -0.006956529029614098,
                    0.00014241829253198364,
                    0.008422774346614795,
                    -0.00448153148360224,
                    0.0038154652881716203,
                    -0.009047404876367196,
                    -0.0007213700974902531,
                    -0.005459335333833716,
                    0.0028579322534620093,
                    0.009979346307571175,
                    -0.0017291638663700865,
                    0.005380240308872098,
                    -0.0063330826541095325,
                    0.0007753841143293194,
                    0.009065191206780359,
                    0.004273229813076469,
                    -0.007495192262520099,
                    -0.00046753833867326655,
                    0.00775368903584725,
                    -0.005193469189329183,
                    0.003062310105429279,
                    0.010164227919279662,
                    -0.001531211053527368,
                    0.00561688332203401,
                ],
                [
                    0.00970535613962367,
                    -0.003206832666844825,
                    0.005062299722258433,
                    -0.007849849042303335,
                    0.00041928223930935563,
                    0.007507124119112508,
                    -0.004223717254078735,
                    -0.00901770948157065,
                    -0.0007486009781283191,
                    0.006339208355167671,
                    -0.005391675376862316,
                    0.001696140585851659,
                    0.009965257402075968,
                    -0.0029469252738699683,
                    0.005322191182803269,
                    0.0005281313907489555,
                    0.008797232481881386,
                    -0.00411496553877795,
                    0.004154137445867455,
                    -0.008758053693886802,
                    -0.0004889537065818318,
                    0.006598847381330584,
                    -0.00513200508217028,
                    -0.009926023718876065,
                ],
                [
                    0.007582735734224007,
                    -0.005327821220391021,
                    0.002940774969194969,
                    0.010024700413323814,
                    -0.0017433672557856236,
                    0.005286283466373472,
                    0.0015965326316240709,
                    0.008610896166740906,
                    -0.003192099397398794,
                    0.0038459381536911233,
                    -0.007924740180578534,
                    -0.0008687969394364241,
                    0.007374837242075027,
                    -0.005557535632776494,
                    -0.009180334617774727,
                    -0.0020776346414883113,
                    0.006238197733740767,
                    -0.006592293651616183,
                    0.0017709095539602516,
                    0.008951604740276602,
                    -0.0038655529468718986,
                    0.004499606289957541,
                    -0.0001839063495801041,
                    0.008218115626156283,
                ],
                [
                    0.00234126319900792,
                    -0.009389636743874446,
                    -0.0011205366859977502,
                    0.005967263341069591,
                    -0.005763636565574677,
                    0.009442303610781314,
                    -0.0022885962318541795,
                    0.004799203893059851,
                    -0.006931696024554763,
                    0.00015610406845365532,
                    0.008425204123846558,
                    -0.004486995806042377,
                    0.0037821042501266925,
                    -0.0010119756700173231,
                    0.007257124470077563,
                    -0.005655075396047097,
                    0.0014327246267149887,
                    0.009701824567859917,
                    -0.0032103754525130324,
                    0.0050587245499766256,
                    -0.007853475367644951,
                    0.00041562481950508306,
                    -0.004378434895623326,
                    0.00389066550684855,
                ],
                [
                    0.0023836224735119646,
                    0.010678095056918871,
                    -0.0010443423756550648,
                    0.006023701836940226,
                    -0.005840348532378225,
                    0.009161159059561245,
                    -0.0028518401966118284,
                    0.0039613158384051725,
                    0.011961134861820471,
                    -0.0011339050097724107,
                    0.00581117381632011,
                    -0.006024876733159075,
                    0.0009760332766941641,
                    -0.002686747655560329,
                    0.004407989848106386,
                    -0.007201925908514865,
                    0.0001218236414393542,
                    0.008754060778838746,
                    -0.003735181405052819,
                    0.004960267660099778,
                    0.01248619020502852,
                    0.009329141310833605,
                    -0.003066533186168415,
                    0.005807671437087997,
                ],
                [
                    -0.0038415160801328237,
                    0.004427373773765908,
                    -0.008484942435110809,
                    -0.00021601140834437004,
                    -0.0050102057637254295,
                    0.003259064952712004,
                    -0.009653322576089172,
                    -0.0013843989791390084,
                    0.0057031672778671124,
                    -0.006027712881623971,
                    0.0010603272808924343,
                    0.009329526238387667,
                    0.0045355508260485665,
                    -0.007195332045092232,
                    -0.00010740683994073014,
                    0.008161822114833787,
                    -0.004750292602351615,
                    0.0035190235726729802,
                    -0.009393009263645167,
                    -0.0011237029933885239,
                    -0.005917491949777985,
                    0.0023519876746460446,
                    0.009440267615751351,
                    -0.002290253953369121,
                ],
                [
                    -0.006930935278572103,
                    0.0013383536949009066,
                    0.008426110395077355,
                    0.004813047580521685,
                    -0.008100091218110892,
                    0.0001674654841988519,
                    0.007253041662281571,
                    -0.004480596040597115,
                    0.002604687889732163,
                    -0.009127956131758777,
                    -0.0020414457822222126,
                    0.006226794144552502,
                    0.0014322671508867333,
                    0.009700930902730562,
                    -0.003211234462248264,
                    0.005059144065743515,
                    -0.007850163164111234,
                    0.00042227686069517807,
                    0.007512834112961851,
                    -0.004215666626666203,
                    -0.009008325040535567,
                    -0.0007389596421828481,
                    0.006348409086817288,
                    -0.005383700492335562,
                ],
                [
                    0.01435404373262781,
                    0.0029015458860667835,
                    0.010304588828842658,
                    0.006926078861484603,
                    0.014405158622769955,
                    0.0033204508254369735,
                    0.011016205288874504,
                    -0.0001786996540431881,
                    0.007205321637123609,
                    0.01571579997489898,
                    0.0029070117490234315,
                    -0.0005361148498094519,
                    0.006708010865580469,
                    0.015279223062228613,
                    0.0028447676529117856,
                    0.011523241899377574,
                    0.018518704853217938,
                    0.0065065532447683315,
                    0.013615753518058287,
                    0.010264801173018454,
                    0.018099960261051325,
                    0.007706764619754221,
                    0.016707367972004807,
                    0.00763632039947613,
                ],
                [
                    0.009882662370656412,
                    -0.0017774513937813179,
                    -0.006494557100203483,
                    0.0018297783687751036,
                    0.008922705996579738,
                    -0.0028243651292606474,
                    0.004129601887857335,
                    0.012180692568800515,
                    -0.0010224609442656902,
                    0.007054965884008266,
                    0.0020967331793938894,
                    0.010255209533890995,
                    -0.002735613686801799,
                    0.005514820791705138,
                    -0.00729372309854677,
                    0.0012243132194102563,
                    0.008615698963526052,
                    -0.002816552283063212,
                    0.012704432976660372,
                    0.0012894506572545174,
                    0.008772423762046646,
                    -0.0024484338787039324,
                    0.005298757508375676,
                    0.014442368663269596,
                ],
                [
                    0.005576962635286009,
                    0.001999369000865607,
                    0.009111065542696544,
                    -0.0026171439079287727,
                    0.0044403560874054365,
                    -0.007320341008185231,
                    -0.0002826907908724463,
                    0.007941086650024883,
                    -0.005036481543072053,
                    0.003186280986151605,
                    -0.0016553956962725282,
                    0.006586183580300166,
                    -0.006342661649812352,
                    0.0007555609262767646,
                    0.009066296400689794,
                    -0.003778189802121214,
                    0.004541383098671845,
                    0.011715404337106399,
                    0.008263914683415119,
                    -0.004442412415306114,
                    0.00409437714633899,
                    0.011515175618518617,
                    0.00020830645777624454,
                    0.007830853566429001,
                ],
                [
                    0.000668236463872972,
                    -0.0029450091853249977,
                    0.004142839271051696,
                    -0.0075880804183553925,
                    -0.0005005340529277482,
                    0.0077694358739677696,
                    -0.00514283867233026,
                    0.003126266541459366,
                    -0.009786570046619895,
                    0.005420020289832588,
                    -0.006310103110208658,
                    0.0007782381790878161,
                    0.009047918841226589,
                    -0.003864452239023319,
                    0.004405727077887666,
                    -0.00850510556979959,
                    -0.00023537188926638468,
                    -0.005028103057116643,
                    0.0032422656216158506,
                    -0.009669589024926002,
                    -0.0013999121450467456,
                    0.005688842322564085,
                    -0.006040603445894105,
                    0.001049342120909647,
                ],
                [
                    0.005716555302345775,
                    -0.007195261672859304,
                    0.001073874204545505,
                    0.009343546635804029,
                    -0.0035679331497234716,
                    0.003520018340368373,
                    -0.008210430502382323,
                    -0.0011222433363211619,
                    -0.004734246637650286,
                    0.0023529811035004123,
                    -0.009378401541903175,
                    -0.002290903155411306,
                    0.0059777652287614745,
                    -0.0069345003802914204,
                    0.0013336682027544648,
                    0.008420459260462861,
                    0.004807085566811375,
                    -0.008106243170711437,
                    0.00016167060367725596,
                    0.007248434828956567,
                    -0.004483779664774286,
                    0.002602708392866825,
                    -0.009129766619230532,
                    -0.0020437946804428724,
                ],
                [
                    -0.18875524462304175,
                    -0.16849465086726276,
                    -0.17083896289742861,
                    -0.16019399478757168,
                    -0.1304272205603451,
                    -0.0558577837125859,
                    0.03355568276213227,
                    0.09779710834688186,
                    0.16703975925893794,
                    0.22299823251393122,
                    0.26599314058845,
                    0.28736340895788315,
                    0.3247108286809809,
                    0.3634681444116514,
                    0.3824177191911234,
                    0.39518721587412237,
                    0.35247583098753443,
                    0.28745970773830004,
                    0.2119065557035686,
                    0.16539932207075345,
                    0.11024603851853311,
                    0.08966484814610229,
                    0.07441882893502341,
                    0.038500106094932034,
                ],
                [
                    0.0035860524447593445,
                    0.010707822158227168,
                    -0.0010070103980545535,
                    0.006061299751714457,
                    -0.005879867156244099,
                    0.0008678720043172266,
                    0.008666496949554806,
                    0.00341266562041002,
                    0.011226809651747813,
                    -0.001994961091208036,
                    0.006030229317707997,
                    -0.007066221758636185,
                    0.0010528838670026469,
                    0.008045183217584352,
                    -0.0036907744275623696,
                    -0.008307447901251978,
                    0.0003397621858868313,
                    0.008009321564024634,
                    -0.0030675775534803247,
                    0.004649819677905196,
                    0.013543363046718855,
                    0.0012625521061720817,
                    0.010240095926915358,
                    0.006288518582452569,
                ],
                [
                    -0.0035710389732851863,
                    0.0035166933517104433,
                    -0.008214235792857988,
                    -0.001126455089055378,
                    0.007142647975677499,
                    -0.00576955524592698,
                    -0.009382315565972932,
                    -0.0022945302858597455,
                    0.0059745240953271,
                    -0.006937662494393032,
                    0.0013314521289144682,
                    0.008419244324507111,
                    -0.003311653144696436,
                    0.003776172015595747,
                    -0.007954743268882134,
                    0.0072511556168053165,
                    -0.004479747178834845,
                    0.002608037581742138,
                    -0.009122902454664985,
                    -0.002035093348334178,
                    0.006233988141619688,
                    -0.00667820865994127,
                    0.0004096146240725062,
                    -0.003203103594265477,
                ],
            ],
            biases: [
                -0.008646162061833933,
                -0.9754267998596504,
                0.005716538649839338,
                0.0020727564224143325,
                -0.0010209995178127517,
                -0.0021498171914250638,
                -0.007208419442133924,
                -0.0017688838930054707,
                -0.004927572445501764,
                -0.008371455080000142,
                0.008724674766635127,
                0.005438552572039878,
                0.0011545935670614757,
                -0.0020091497548294997,
                -0.0042285142667918075,
                -0.008114978832361432,
                0.008697893772871838,
                0.005651278051921624,
                0.00260333682923992,
                -1.3832520867054036e-5,
                0.00451822040302689,
                0.00175862700150748,
                -0.002840681390542419,
                -0.004860736684152137,
                -0.009021538766879169,
                0.008505362283272722,
                0.004814566822252327,
                0.0016398468893863234,
                -0.001143423914399949,
                -0.0030699770469789266,
                -0.006292532949714541,
                0.009300481941571789,
                0.006227661302943215,
                0.03152897788027664,
                0.007999696711413653,
                0.003887966859598012,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    -0.006600699999999999,
                    0.22723841623241778,
                    0.01999906310723875,
                    -0.002978140712532368,
                    0.004113100000000001,
                    -0.013230863593602682,
                    -0.0005300000000000005,
                    0.015242107455118238,
                    0.0038971462977665547,
                    -0.008778394076114108,
                    -0.0047291261441966105,
                    0.006310969967541772,
                    -0.0022133614135071943,
                    0.00010579522678165357,
                    0.023837781274855897,
                    -0.00271516,
                    -0.005083498383653174,
                    -0.0019171447168121233,
                    0.007819200708056048,
                    0.0022307887164693518,
                    0.003409543770519159,
                    -0.001612502373397675,
                    -0.0017382903091414,
                    0.01970199235566997,
                    0.002036500000000001,
                    0.019104212925226408,
                    -0.0026978196774436417,
                    0.0017021230055239425,
                    0.004481233808087669,
                    0.008671783864187045,
                    0.020821797938807427,
                    -0.005338078656288023,
                    0.0028723188073220504,
                    -0.11432315037317009,
                    0.017503430174993135,
                    -0.006036362589465449,
                ],
                [
                    -0.00943488,
                    0.22738888479631766,
                    0.017425018767705965,
                    -0.0058123168720937346,
                    0.009397059999999999,
                    -0.007086466176139213,
                    0.004753959999999999,
                    -8.350814820081867e-5,
                    0.0014829386775436844,
                    0.007207371558004167,
                    -0.007900926720630752,
                    0.002311244718809507,
                    0.0033473929373064055,
                    0.004494513547105721,
                    0.00982171209935585,
                    0.0013874800000000008,
                    0.012309110209766187,
                    -0.005909365069484175,
                    0.004985177191753389,
                    -0.0013177963419214068,
                    0.00878747000540134,
                    0.003764163690641021,
                    0.0036098626073819496,
                    0.005635870113712194,
                    -0.0007976799999999995,
                    0.016454661452010324,
                    -0.005504480052301802,
                    -0.001108590085183639,
                    0.011369194116965452,
                    0.01433760525167645,
                    0.006666118489097826,
                    9.170674699173472e-5,
                    0.008231664479645536,
                    -0.11571275690787797,
                    0.01472142516362606,
                    -0.008871045221839026,
                ],
                [
                    -0.0053322199999999995,
                    0.22475568035929197,
                    0.0014052989827570024,
                    -0.0017097945348675825,
                    0.0053815799999999995,
                    -0.008996960753246257,
                    0.0007384799999999992,
                    0.005081753331301002,
                    0.005905219448844283,
                    -0.007506073390462552,
                    -0.003717280633868079,
                    0.007624722292324166,
                    -0.0006269459530991162,
                    0.0018194521008667638,
                    0.00578317873083844,
                    0.00667144,
                    -0.003735243977421309,
                    -0.00020642929534649756,
                    0.009088982385797948,
                    0.0043026700074132295,
                    0.004854787963064001,
                    0.0004716285045388656,
                    -0.0003612869636557709,
                    0.02277462973722192,
                    0.003304959999999999,
                    0.002098355579252672,
                    -0.0013639255068199165,
                    0.004193255925394629,
                    0.007955191569609122,
                    0.011715193821167673,
                    0.02245361199187952,
                    -0.002618335306112403,
                    -0.007606437492485548,
                    -0.11057048541028028,
                    0.019067728211985806,
                    -0.0035836350299227886,
                ],
                [
                    -0.0081664,
                    0.2177913469422184,
                    0.018413439016313954,
                    0.002393344955221922,
                    -0.009334480000000001,
                    -0.000737244332671835,
                    0.00602242,
                    0.0014182714914980664,
                    0.0036065981371053244,
                    0.008478540835036368,
                    -0.006792194564625786,
                    -0.008244088223460564,
                    0.004913142055936018,
                    0.006189612191239326,
                    0.010925349599560229,
                    0.0026559599999999993,
                    -0.006829559512582621,
                    -0.0041103407200151106,
                    0.0062580836203130095,
                    0.009152864656962844,
                    0.01004802684184872,
                    0.0045392884405914226,
                    0.004966541614625591,
                    0.006708152427951625,
                    0.00047077999999999953,
                    0.01786169666768523,
                    -0.004201054689820344,
                    -0.01166091199310973,
                    0.014705553953663159,
                    0.016440191821495167,
                    0.008184171922405824,
                    0.0013358575048477298,
                    0.008316518769881901,
                    -0.09974838105031641,
                    0.01463311673065714,
                    -0.007594295554138343,
                ],
                [
                    -0.00406376,
                    0.20555571323704946,
                    0.0020712284303070253,
                    -0.0004406654875830762,
                    0.006650039999999999,
                    0.0013848664363829972,
                    0.002006939999999999,
                    0.006838128655728554,
                    0.008185843049090279,
                    -0.00623354138681348,
                    -0.002530016389975767,
                    0.008959461602550726,
                    0.0009173605737663767,
                    0.0037324441310743585,
                    0.00551368479292927,
                    0.0079399,
                    -0.003166816047791615,
                    0.0014322040628487107,
                    -0.009636618951864172,
                    0.006891927683418955,
                    0.0059748682472600375,
                    0.001342725657322232,
                    0.001003024841220856,
                    0.0107761901900145,
                    0.00457344,
                    0.0027678688892574872,
                    -3.3567515421463363e-6,
                    0.0058260401824296,
                    0.011358820037345278,
                    0.014192054650296436,
                    0.004089723794560466,
                    0.0066306646783612965,
                    -0.0063644044757396314,
                    -0.07467619955783804,
                    0.019459864298724282,
                    -0.003486077358322648,
                ],
                [
                    -0.00689794,
                    0.18318820767680377,
                    0.0070031443619639954,
                    0.003662912845551009,
                    -0.008066,
                    0.014435517385376854,
                    0.0072909,
                    0.0035288473442933,
                    0.006061668216514714,
                    0.009751716121916535,
                    0.002938605452558879,
                    -0.006894068916145879,
                    0.0061356440727991495,
                    0.008497189691723415,
                    0.008469267141318654,
                    0.00392442,
                    -0.006459179139106746,
                    -0.002645696494952752,
                    -0.004347547722041522,
                    0.011970774769401163,
                    -0.008863438954571309,
                    0.005543516732714253,
                    0.006333128051252481,
                    0.004616568920120274,
                    0.0017392600000000003,
                    0.01759961313572214,
                    -0.0027796102943237863,
                    -0.009602330734852496,
                    0.016667679025649904,
                    0.019072126648004884,
                    0.008580620524844998,
                    0.002525867461766271,
                    -0.01037720931781236,
                    -0.03520111621649355,
                    0.014227257991587841,
                    0.0018133744825996633,
                ],
                [
                    -0.00279528,
                    0.15787977231382422,
                    0.0025794860489784187,
                    0.0008296287920221239,
                    0.00791852,
                    0.0193516420466677,
                    -0.00860646,
                    0.009235233130180334,
                    0.010582741480768033,
                    -0.004963150617159849,
                    -0.00040617375566013604,
                    -0.009715032000926303,
                    0.0017132319294102902,
                    0.0062415773075388346,
                    0.009427404351230677,
                    0.00920838,
                    -0.0028011605539384437,
                    0.0024878880857232815,
                    -0.00835878619791305,
                    0.009420959014391423,
                    0.007050962307587143,
                    0.003068840877306572,
                    -0.009509326893984793,
                    0.006889411230790818,
                    0.0058419,
                    0.0015031902573365518,
                    0.0013652225981652386,
                    0.008237197785411857,
                    0.013726014720371037,
                    0.015412983799453021,
                    0.013557787370724763,
                    0.00654619156308525,
                    -0.005111495618516243,
                    0.01033381139660699,
                    -0.001765149624596973,
                    -0.0021939176313396837,
                ],
                [
                    -0.005629459999999999,
                    0.131430421691054,
                    0.0015311696836380747,
                    0.0049334835787031165,
                    -0.0067975399999999995,
                    0.022955046458804793,
                    0.00855936,
                    -0.0027986826419236573,
                    0.00337262791140238,
                    -0.008992729617834897,
                    0.008821090735187966,
                    -0.005476283846352908,
                    0.0024153897196134873,
                    0.008573621023138802,
                    -0.004987837043398643,
                    0.0051929,
                    -0.006308108884959569,
                    -5.6330481969538415e-5,
                    -0.003063961114104689,
                    0.005303008766216625,
                    -0.006893229612863751,
                    0.002438051625853466,
                    0.00759816242433833,
                    -0.0082397923110647,
                    0.0018264199999999996,
                    -0.007893635280966049,
                    0.005935388930954622,
                    -0.006157694755852101,
                    0.0061611363244804115,
                    0.013141138094131925,
                    -0.0019189621121338725,
                    0.005544878414135367,
                    -0.007972736777198947,
                    0.056545864737509666,
                    -0.002300884734988841,
                    0.0031101159441154842,
                ],
                [
                    -0.00152682,
                    0.10578933620286537,
                    0.003820446021893874,
                    0.0020985427577315976,
                    0.00918698,
                    0.04294946541309566,
                    -0.007337979999999999,
                    0.011920214492436194,
                    0.012373418071051205,
                    -0.003718143628026455,
                    0.002586202135463956,
                    -0.008446676388284186,
                    0.0021237475448224173,
                    -0.003416026829225387,
                    0.004477348742820933,
                    -0.009523160000000001,
                    -0.0018558788699178151,
                    0.003075101848496416,
                    -0.0070878688478729955,
                    0.010173842290682151,
                    0.008113855787266111,
                    0.014496023644366501,
                    -0.008127018006870953,
                    0.002029294572900738,
                    0.00711038,
                    -0.00031317353374232126,
                    0.0026298333223403686,
                    0.01007491725414273,
                    0.014367159602101305,
                    0.016626965398340746,
                    0.013979349375054767,
                    0.007319116257674296,
                    -0.00416312374535462,
                    0.09259792703174595,
                    -0.003399343979632056,
                    -0.000919268466721527,
                ],
                [
                    -0.004361,
                    0.09001804650473938,
                    0.002441605734137247,
                    0.006202245463144642,
                    -0.00552906,
                    0.034994803275128994,
                    0.009827840000000001,
                    -0.0005919255303881533,
                    0.0050635275877007925,
                    0.0003771957197146736,
                    0.010872884669569712,
                    -0.004221721458255986,
                    0.003412053252313823,
                    -0.009307430383093935,
                    -0.006857478925684648,
                    0.00646136,
                    -0.005199007674545638,
                    0.008945644952606448,
                    -0.0017942609591508627,
                    0.006299363247541435,
                    -0.0058824992244819714,
                    0.004747029951888004,
                    0.007787536223495295,
                    -0.010107136810532793,
                    0.0030949000000000003,
                    -0.0006346531212880669,
                    0.007055834522838548,
                    -0.0037390703280684627,
                    0.007887424277714626,
                    -0.0059196032442390975,
                    -0.00109151193257941,
                    0.006288409039131025,
                    -0.007043141544549972,
                    0.12178010194968898,
                    -0.003227945355721853,
                    0.004382686967478521,
                ],
                [
                    -0.00025834000000000024,
                    0.07780753555855865,
                    0.004927922445023952,
                    0.0033675152804143673,
                    -0.0014264200000000005,
                    0.051573814680563046,
                    -0.006069519999999999,
                    0.013796070778526279,
                    0.013857242173639399,
                    -0.0024586202665980435,
                    0.0046975461204570145,
                    -0.007172511546161348,
                    0.0031296294662245946,
                    -0.0015970789604689525,
                    0.002485272741312896,
                    -0.00825468,
                    -0.0008398726161644608,
                    0.004089555550661933,
                    -0.005818469389732033,
                    0.011231280309208998,
                    0.009224853860846781,
                    0.016709140236503044,
                    -0.0067782845460033795,
                    -0.001128771275307342,
                    0.00837884,
                    -0.0019292367834131596,
                    0.0038693335330260313,
                    -0.007630803309952326,
                    0.015348482010105252,
                    0.005888479579075783,
                    0.01481373872245701,
                    0.008298204342290824,
                    -0.0030800932055686557,
                    0.13673153052488599,
                    -0.0037645238894814586,
                    0.00035290001364900766,
                ],
                [
                    0.005025599999999999,
                    0.07002292706675767,
                    0.003510277174554456,
                    0.007470931716795182,
                    -0.0042606,
                    0.04357723972256621,
                    -0.0089037,
                    0.0008659754472162609,
                    -0.005277688394163501,
                    0.0016427937868578838,
                    0.012222995082052004,
                    -0.002931019085569945,
                    0.004880956549661121,
                    -0.007717019508840095,
                    -0.005210351124609316,
                    0.007729839999999999,
                    0.004291801432166655,
                    -0.00956006412671051,
                    -0.0017060780055490896,
                    0.007956503916040374,
                    -0.0058512316910692185,
                    0.005875654127604703,
                    0.009078199525468114,
                    -0.008570037918781621,
                    0.00436336,
                    0.0004771041008011472,
                    0.008256909751802778,
                    -0.002375006221424301,
                    0.010266840795602413,
                    -0.005104535202550885,
                    0.00021532710356033595,
                    0.0074455186805590145,
                    -0.005853182800171121,
                    0.15312351857264758,
                    -0.0024294455593099084,
                    0.0056558205610874705,
                ],
            ],
            biases: [
                0.237881035408097,
                0.237647594874218,
                0.23476736743804158,
                0.22532840949226499,
                0.20899875716861716,
                0.18478201069555153,
                0.16374627996886798,
                0.14555574677874078,
                0.13104766636467188,
                0.12235991358410823,
                0.11440368610712806,
                0.10842734458565553,
            ],
        },
    }
}

pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    0.4789270236961473,
                    0.5217257041065333,
                    0.4151687792430699,
                    0.4423091734883325,
                    0.41843771241072136,
                    0.14114727112351633,
                    0.06475273748257934,
                    -0.20441874000468435,
                    -0.11890556891174502,
                    -0.3333775254074747,
                    -0.31793742769074995,
                    -0.5244278459430917,
                    -0.4568518710621017,
                    -0.36617492418054914,
                    -0.46743922373340774,
                    -0.3589711913708994,
                    -0.3742644021583681,
                    -0.23912294160026437,
                    -0.21416649427188558,
                    -0.012988099027232053,
                    0.17412148165770308,
                    0.16237140086427787,
                    0.43078954037739775,
                    0.3944469477836317,
                    0.45817190819142023,
                    0.3281685231584733,
                    0.40091807857482276,
                    0.44967912903682405,
                    0.28330632669273087,
                    0.2781922719366233,
                    0.06609775806836236,
                    0.043191649299039875,
                    -0.07499401330565633,
                    -0.06654351082325861,
                    -0.21470302567761135,
                    -0.1755008603824467,
                ],
                [
                    -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.01689192943811823,
                    0.0823922399594586,
                    -0.051017102513963894,
                    -0.06678065644047051,
                    -0.24147776354474174,
                    -0.21676464915406554,
                    -0.15279760004235182,
                    -0.17580543378454971,
                    -0.10707235743646497,
                    -0.2796745868965546,
                    -0.2056850049175507,
                    -0.32728816039795317,
                    -0.21168120990931302,
                    -0.11590820842237291,
                    -0.25628619254201995,
                    -0.0997737836021689,
                    -0.13555884487410788,
                    -0.06635440237177412,
                    -0.15849169744384603,
                    -0.10437169298379737,
                    -0.05279170303955892,
                    -0.08449933037300741,
                    0.11819639490925882,
                    0.10720592169823705,
                    0.08638461720620835,
                    -0.03282656473833647,
                    0.03520120791381691,
                    -0.09098952841954214,
                    -0.03787486976569535,
                    0.030573450404455523,
                    -0.11132803447433491,
                    -0.028632687718951465,
                    -0.07187221159411673,
                    0.010652653419174334,
                    -0.11365175771080277,
                    -0.033649816532082225,
                ],
                [
                    -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.12385808745293113,
                    0.17903930623177183,
                    0.05079829483995393,
                    0.0780850231622768,
                    -0.09827610417791248,
                    -0.07924534060914544,
                    -0.04165562690236632,
                    -0.12488595978487414,
                    -0.24943610545530723,
                    -0.20484555467901572,
                    -0.13892424990225744,
                    -0.2974420948349925,
                    -0.20095370835112686,
                    -0.09412032662188591,
                    -0.19358847320161604,
                    -0.20520177287249736,
                    -0.13925829363295283,
                    -0.09532622354361237,
                    -0.1917342132332118,
                    -0.10370726490759169,
                    -0.19276988077129745,
                    -0.0673781210689622,
                    0.13477956205776653,
                    0.14261893200283984,
                    -0.017875948213384854,
                    0.049728837127014404,
                    0.12907612596851642,
                    -0.007745017425647825,
                    0.056050143912956596,
                    0.10850841504070328,
                    -0.04336710608864319,
                    -0.1164628208435263,
                    -0.05887249689807446,
                    -0.012021173138664076,
                    -0.13099516421631674,
                    -0.0708381708028301,
                ],
                [
                    -0.813676679931135,
                    -0.6706632614001562,
                    -0.7623561777262815,
                    -0.46227474851162664,
                    -0.29567480947364305,
                    0.0871891462358207,
                    0.12914064780645637,
                    0.2990067733810145,
                    0.2162512538731119,
                    0.21645333102245318,
                    0.29843446899254256,
                    0.4150518644226574,
                    0.3557792938717553,
                    0.010532089281389967,
                    0.07234308612996058,
                    0.1053877396958702,
                    0.2869116373550151,
                    0.7074989548337784,
                    0.745902042970578,
                    0.9879062120275162,
                    0.6992502279211855,
                    0.3564733131022393,
                    -0.5794486179013967,
                    -0.9538859345882609,
                    -0.5789180025690659,
                    -0.6679713002986792,
                    -0.5853112046190585,
                    -0.596308345786269,
                    -0.44741431409181404,
                    -0.5402244240058526,
                    -0.3087780760701584,
                    -0.12763313740797655,
                    -0.13574042715463844,
                    0.07690336774588348,
                    -0.08039631305869886,
                    0.1354649698701585,
                ],
                [
                    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.012787785198075588,
                    0.08131392276317033,
                    0.04868698929202253,
                    -0.08378809519373008,
                    -0.003475711380247809,
                    0.06281761180246294,
                    -0.060699669812083946,
                    0.005267575553644396,
                    0.09040257814103922,
                    -0.03886372837440755,
                    -0.07952625016713508,
                    -0.01334006741835239,
                    0.06999449658744873,
                    -0.054227074464301146,
                    0.025821515403382917,
                    -0.10680839888326045,
                    -0.03208688833502654,
                    0.042096921141990214,
                    -0.06034288947222523,
                    0.10112874363871074,
                    -0.017015145539301283,
                    0.04811864284240671,
                    -0.06658559127774392,
                    -0.0018884538626046336,
                    0.08213301028607845,
                    -0.046821140766345394,
                    0.03566182008713087,
                    -0.012083749757084872,
                    0.06977561667754119,
                    -0.06073229701751205,
                    0.020664405170179624,
                    -0.10991848723108777,
                    -0.028305176808876134,
                    0.041794426520595174,
                    -0.0756738187466033,
                    0.07590141096630287,
                ],
                [
                    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.11287838879514978,
                    -0.032530779333382435,
                    -0.08189469706169687,
                    -0.192694631777829,
                    -0.0952127580240275,
                    0.02940202644595864,
                    -0.05741500314986918,
                    0.05546717210788851,
                    -0.05305148409830671,
                    0.05773291800502892,
                    0.02363684009234866,
                    0.1244230891183141,
                    0.19987051801498557,
                    0.07947690119161868,
                    0.14657657287974513,
                    0.026726322476279544,
                    0.0897453785591631,
                    0.147942549372686,
                    0.06480783359286409,
                    -0.08403402103395191,
                    -0.045695241039027536,
                    0.0017498656041107677,
                    -0.17176907549695733,
                    -0.12042199278237878,
                    -0.21968036616372671,
                    -0.13674978379596595,
                    -0.18197671214076036,
                    -0.09326144778914346,
                    -0.009566561708591836,
                    -0.10608932258953288,
                    -0.009406645899823367,
                    -0.10030899687116931,
                    -0.006046759395702219,
                    0.08244257194217751,
                    0.05553179936940619,
                    -0.06482531615478494,
                ],
                [
                    0.06044221852182621,
                    -0.06878337192614166,
                    0.014152133157251001,
                    0.08540145863465115,
                    -0.031123852639214147,
                    0.04079057085617273,
                    0.0059727563889048,
                    0.07857129691662595,
                    -0.03722955928979208,
                    0.034644295899351196,
                    -0.08183107274036755,
                    -0.01033237862961387,
                    0.07272879698012748,
                    -0.056131635699120414,
                    -0.09238193145317777,
                    -0.022592002747365104,
                    0.05882505854455947,
                    -0.07121035438912642,
                    0.010245483654816187,
                    0.07987988112868716,
                    -0.03872544115037585,
                    0.03097298015882601,
                    -0.006373772469908586,
                    0.06397119505022432,
                    -0.05324147785309311,
                    0.017631491046298683,
                    -0.0995751927417101,
                    -0.028435900009829145,
                    0.054791845130332334,
                    -0.0734767191848002,
                    0.09149560560649458,
                    -0.03650598453128753,
                    0.04718505479729941,
                    -0.08121106119041509,
                    0.0018792239957231627,
                    0.07313504346582168,
                ],
                [
                    0.0418893300189139,
                    -0.007971696463573184,
                    0.07428220009843753,
                    -0.05562243159599923,
                    0.013932856923232246,
                    0.10068684501803125,
                    -0.024889568592933176,
                    0.05628317422322871,
                    -0.07540822833037303,
                    0.08815021533370852,
                    -0.04323704869288048,
                    0.03833837371526509,
                    -0.09180111197274311,
                    -0.007728066960791023,
                    0.06529673381531469,
                    -0.04681779753958158,
                    0.02881396447511246,
                    -0.09123507419847329,
                    0.05857427452813015,
                    -0.06034237152191511,
                    0.009964895742717694,
                    0.09228023204617006,
                    -0.035879581649375554,
                    0.04522359024973996,
                    -0.08154417801343512,
                    0.001055439363313066,
                    -0.04687834347296207,
                    0.03575497841279498,
                    -0.09345538823917646,
                    -0.010522384512738023,
                    0.05996480905044992,
                    -0.05738648774735154,
                    0.013257948288566648,
                    0.0956493604848638,
                    0.04790070101781194,
                    -0.0695354661020599,
                ],
                [
                    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.09932608048885283,
                    -0.16038771625747844,
                    -0.07597973563356876,
                    -0.19568467288944333,
                    -0.09295956102362067,
                    -0.17198897680084071,
                    -0.0394804780460635,
                    0.06761374866527155,
                    -0.03013077250076707,
                    -0.04711095848227114,
                    0.042519140846263986,
                    0.1299445849505224,
                    0.017851149367843502,
                    0.10110254327246461,
                    0.19577147441327505,
                    0.07273232373219848,
                    0.15280632122826504,
                    0.06809908645503046,
                    0.11666671314289974,
                    -0.048366051668283165,
                    -0.0003292315665145047,
                    -0.16996765921758633,
                    -0.1270115919231229,
                    -0.09474936700799662,
                    -0.16905617157507272,
                    -0.01766118604462025,
                    -0.13242091854355192,
                    -0.056031933943761505,
                    -0.16116740144617092,
                    -0.0678179826089728,
                    0.040540785868367665,
                    -0.059873963108099074,
                    0.0473859694496889,
                    -0.06454542289773714,
                    0.11087411684488821,
                    -0.009529890028449027,
                ],
                [
                    -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.06904318690704468,
                    0.012604960642743288,
                    -0.11707443257001654,
                    -0.033387276421243145,
                    0.03985714593427837,
                    -0.07290391928636669,
                    0.003222629129978135,
                    0.09269786034962312,
                    -0.03168032176110342,
                    -0.0635553961203541,
                    0.010084532190780308,
                    0.09643748572570002,
                    -0.03108976335050602,
                    0.05303952666007368,
                    -0.07470989064945648,
                    0.006255832777314428,
                    0.07480225121187953,
                    0.0364062802651656,
                    0.1045596344465201,
                    -0.015001592540180412,
                    0.05267725741801998,
                    -0.06978895007951276,
                    -0.006771751872336944,
                    0.0703412932640191,
                    -0.05384133891774141,
                    -0.0900314962688222,
                    -0.018858990862494575,
                    0.06451115001008272,
                    -0.06301278424582764,
                    0.022381632841777216,
                    0.09665263720321955,
                    -0.01710060284799265,
                    0.05682671928682708,
                    0.022920280067643888,
                    0.09507695545805436,
                    -0.021083175524089948,
                ],
                [
                    -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.02457731718646271,
                    0.09643057231569618,
                    -0.022353036200748477,
                    0.04790088589659177,
                    0.12341451003607032,
                    -0.015123058211034945,
                    0.05683510048716697,
                    -0.08418794520471491,
                    0.0699594518133695,
                    -0.0683222680770394,
                    0.00898063452490362,
                    0.07370683097900999,
                    -0.04612133676669013,
                    0.0219580640712506,
                    -0.09498335113640262,
                    -0.01932072132177861,
                    -0.04938698641500888,
                    0.0252264763040562,
                    -0.08743446965335526,
                    -0.00905096495120252,
                    0.08435174798694037,
                    -0.03152730964222023,
                    0.06899941128410485,
                    0.15236050919225536,
                    0.10520613170331843,
                    -0.023899909708023803,
                    0.0579294903281638,
                    0.12683969288824012,
                    0.005397970498682907,
                    0.06961858894086441,
                    -0.05555955821884493,
                    0.007229019488210608,
                    0.08299714057313415,
                    0.029991546781902117,
                    -0.09028788699540938,
                    -0.022071488104777146,
                ],
            ],
            biases: [
                -0.10621180388881925,
                -0.08849540002418868,
                1.7708658338500045,
                -0.06399780009135873,
                0.2284759415932577,
                0.4612305527210486,
                -0.0796548000360566,
                -0.012111947609433736,
                -0.06697019999450254,
                0.13246575411433137,
                -0.04217134748931729,
                0.0014399750361643634,
                -0.029787800089000144,
                0.2974457686013043,
                -0.017103000305655668,
                0.07295385995128888,
                0.0073946002897478874,
                0.05047968007514816,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    0.15269468232630626,
                    -0.043630999999999996,
                    0.3591460202167106,
                    -0.008880600000000006,
                    0.1598913556287861,
                    -0.21476338450452595,
                    0.015566400000000003,
                    0.054444031746236216,
                    -0.0308646,
                    -0.09938204238494562,
                    -0.08090486163952249,
                    0.07954150725985576,
                    -0.0425454,
                    -0.11889831352770293,
                    -0.0889764,
                    -0.06931066674185185,
                    0.0645926,
                    -0.005559672126596183,
                ],
                [
                    -0.09914643056714625,
                    0.052912,
                    -0.06439698440056547,
                    0.006481000000000003,
                    0.08917841505379115,
                    -0.03994981545194686,
                    0.030928,
                    -0.08638095747147624,
                    -0.015503,
                    -0.05162860052235884,
                    0.019247213373640507,
                    -0.09806139653453372,
                    -0.0271838,
                    0.055508647741316544,
                    -0.07361480000000001,
                    -0.0027365405192624963,
                    0.0799542,
                    0.03201363744167523,
                ],
                [
                    -0.002190033575367629,
                    0.0682736,
                    -0.04903538000373193,
                    0.0218426,
                    -0.0954663869789463,
                    -0.024588175719980745,
                    -0.0725292,
                    0.010161825776803324,
                    0.0810398,
                    -0.036269104157728126,
                    0.0346088091953662,
                    -0.08268150137503638,
                    -0.011822200000000005,
                    0.07118245757495477,
                    -0.058253200000000005,
                    0.09383032210982802,
                    -0.0235028,
                    0.047406225124937536,
                ],
                [
                    0.09401773873544284,
                    0.08363519999999999,
                    0.35833896668659043,
                    0.0372042,
                    0.045729258656281295,
                    -0.1818703508671181,
                    -0.057167600000000006,
                    -0.03474655257403832,
                    0.0964014,
                    -0.07578140127803944,
                    0.04310442057773931,
                    -0.06009468245170382,
                    0.0847208,
                    -0.12960171310858168,
                    0.0382898,
                    -0.1282800766086766,
                    -0.008141200000000005,
                    0.1285848879868445,
                ],
                [
                    0.09398347713540456,
                    -0.019821999999999996,
                    0.3905155219264303,
                    -0.066253,
                    0.05322470130909661,
                    -0.23123723069375116,
                    -0.041805999999999996,
                    -0.07884034988119291,
                    -0.088237,
                    -0.06380052889118988,
                    -0.08933465614497728,
                    0.002001725221811105,
                    -0.0999176,
                    -0.15667198535270588,
                    0.053651399999999995,
                    -0.11186595345573289,
                    0.007220399999999993,
                    0.15002097793448108,
                ],
                [
                    0.12967511260850384,
                    -0.004460399999999998,
                    0.4402905855705396,
                    -0.050891399999999996,
                    0.10226457423311545,
                    -0.2842798480451881,
                    -0.014631400000000006,
                    -0.15787935460969418,
                    0.00830599999999999,
                    -0.11351209730660321,
                    -0.03937604899749825,
                    -0.00855324471783068,
                    -0.08455599999999999,
                    -0.16642335065021993,
                    0.06901299999999999,
                    -0.012259599166830894,
                    -0.0962368,
                    0.0535140911691648,
                ],
                [
                    0.1398280370687654,
                    0.01090120000000001,
                    0.46007906156542444,
                    -0.0355298,
                    0.07552322436560041,
                    -0.31528118133575744,
                    0.0819116,
                    -0.12784904710692058,
                    0.02366760000000001,
                    -0.2516134938036743,
                    -0.04568843142608243,
                    -0.017217160124976264,
                    0.01198680000000001,
                    -0.10883170680484794,
                    -0.0344442,
                    -0.009159717826639994,
                    -0.08087520000000001,
                    0.060804495525268155,
                ],
                [
                    0.10116069065101913,
                    0.02626280000000001,
                    0.43952338150976905,
                    0.06101319999999999,
                    0.06327617497459,
                    -0.29319922147213145,
                    0.09727319999999999,
                    -0.10159617468396871,
                    0.03902920000000001,
                    -0.2389374332258143,
                    0.0619223551766269,
                    -0.1091790217099762,
                    0.027348400000000005,
                    -0.29385049301981536,
                    -0.019082600000000005,
                    -0.03654897205404554,
                    -0.06551359999999999,
                    0.02865331034117724,
                ],
                [
                    0.14214751235084427,
                    -0.0771942,
                    0.434746651818269,
                    0.0763748,
                    0.023424321673016568,
                    -0.2978023535607578,
                    -0.0873652,
                    -0.02158135873358238,
                    -0.064428,
                    -0.1710395020097133,
                    0.05125043057419513,
                    -0.08610494866786539,
                    0.042710000000000005,
                    -0.3104793489005239,
                    -0.0037209999999999964,
                    -0.11745402954626852,
                    0.031029400000000006,
                    -0.04988899411122869,
                ],
                [
                    0.16857204434940995,
                    -0.061832599999999995,
                    0.4288039207794446,
                    0.09173640000000001,
                    0.07477643533048224,
                    -0.28323480478317137,
                    0.009177600000000008,
                    0.030748283564312275,
                    -0.049066399999999996,
                    -0.12119743093518194,
                    -0.08935858853163807,
                    -0.03874730214208508,
                    0.0580716,
                    -0.217580816020475,
                    0.092822,
                    -0.09766715217715363,
                    0.046391,
                    0.0078025109013746775,
                ],
                [
                    0.19556044426659708,
                    -0.046471,
                    0.4213295705040448,
                    -0.011720799999999998,
                    0.15940421317161432,
                    -0.26834198601643583,
                    0.024539200000000004,
                    0.049406693597523824,
                    -0.0337048,
                    -0.1167084490152593,
                    0.040628730015184876,
                    0.067519270024288,
                    -0.0453854,
                    -0.1991422409257742,
                    -0.09181639999999999,
                    -0.07826117869376836,
                    0.061752600000000005,
                    0.03771669799429117,
                ],
                [
                    0.19749430687181418,
                    0.0500718,
                    0.4162324427233468,
                    0.0036407999999999996,
                    0.348536965758211,
                    -0.23054810516513552,
                    0.0399008,
                    -0.10473250101733611,
                    0.0628382,
                    -0.1950888209507553,
                    0.018549351484069828,
                    0.09451032403919785,
                    -0.0300238,
                    -0.08750637851533405,
                    -0.0764548,
                    -0.024468701947657785,
                    -0.0417046,
                    0.108401858903646,
                ],
            ],
            biases: [
                0.01047823737412283,
                -0.0852907305849527,
                -0.06962389306625928,
                0.17808607594820142,
                0.19673472765183725,
                0.2227937862991243,
                0.23899732302169835,
                0.32784389746929254,
                0.3704907760581983,
                0.35244790650407287,
                0.33974544401985385,
                0.3166614762280628,
            ],
        },
    }
}

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.5828326730468447 0.559916680...
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.8156886208776655 2.791659644...
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.278840137139689 9.2579491267...
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.616600673508202 17.59576026...
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.234435499794287 -4.25477620...
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.488985968679579 12.46742809...
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.416453917154314 -1.43912755...
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.601693579241932 14.57766577...
Truncated