CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:ToukoP
Submission time:2023-11-12 15:36:08 +0200
Language:Rust
Status:READY
Result:71
Feedback
groupverdictscore
#1ACCEPTED70.5
Test results
testverdicttimescore
#1ACCEPTED0.01 s9details
#2ACCEPTED0.01 s9.38details
#3ACCEPTED0.01 s9.13details
#4ACCEPTED0.01 s8.5details
#5ACCEPTED0.01 s8.88details
#6ACCEPTED0.01 s9.13details
#7ACCEPTED0.01 s8.25details
#8ACCEPTED0.01 s8.25details

Code

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

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

pub const LEARNING_RATE: f64 = 0.003;

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

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

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

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

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

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

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

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

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

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

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

        layer
    }

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

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

        result
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        let mut loss = 0.;
        for i in 0..O {
            let l = (actual_outcome[i] - desired_outcome.0[i]).powi(2);
            loss += l;
        }
        loss / batch_size as f64
    }

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

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

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

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

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

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

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

    let mut data = Vec::new();

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

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

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

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

    let neural_net = get_neural_network();

    let question_mark_net = get_question_mark_network();

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

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

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

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

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

        let mut input_buffer = [0.; 36];

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

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

        for j in 0..OUTPUT_COUNT {
            let skip = question_mark_res.0[j] > 0.51;
            //let skip = question_mark_res.0[j] > 0.298;

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

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

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

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

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

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

pub fn get_neural_network() -> NeuralNetwork<INPUT_COUNT, OUTPUT_COUNT, 36, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    -0.0067487719772802105,
                    -0.009015941516673115,
                    -0.0007467274259001574,
                    0.0063410319221280705,
                    0.002727979573311874,
                    0.009815977080198131,
                    -0.0019152945633162885,
                    0.005172351429301325,
                    -0.006559047879979771,
                    0.0005287509586254338,
                    0.008797810523665425,
                    -0.00411441372961224,
                    -0.007727413303234425,
                    -0.0006396772707140236,
                    0.0076296197854085705,
                    -0.005281995172093803,
                    0.00298762033529237,
                    -0.00992401755762791,
                    -0.00283600375078209,
                    0.005432390408696109,
                    -0.007480689547164098,
                    0.008906371306350845,
                    -0.004004945004209504,
                    0.004268130175962042,
                ],
                [
                    -0.4402116409469384,
                    -0.2796042138619242,
                    -0.17578590876494435,
                    -0.15664367691484946,
                    -0.145656732403091,
                    0.024812638980171425,
                    0.010446766983385512,
                    0.05145794653273743,
                    0.027500219239748328,
                    0.0010958216469275088,
                    -0.041559675891418936,
                    -0.05900641134730251,
                    -0.0777458211935703,
                    -0.00662436439129592,
                    0.1203135213262468,
                    0.23833863561529486,
                    0.14286029849239398,
                    0.07380230399370916,
                    -0.01181485132602488,
                    -0.22332895209953055,
                    -0.374491841316699,
                    -0.2324654134844429,
                    0.2996782568380241,
                    2.0095355158048216,
                ],
                [
                    0.003993144277769503,
                    0.012083994630252273,
                    0.0008107275176369847,
                    0.015402718457167652,
                    0.0015204617049688572,
                    0.007243858557731712,
                    -0.0061779948796893925,
                    0.0011380235008514883,
                    0.009466505398456764,
                    -0.003170285542568127,
                    0.004951116036548803,
                    0.00030567782185169403,
                    0.00838826458765336,
                    -0.003927089831362108,
                    0.004689477435268061,
                    0.011498075726313796,
                    -0.0036285315078289247,
                    0.004436494543855681,
                    -0.006154511817996125,
                    0.012659004205762589,
                    0.0033424945787719953,
                    0.017868026526934404,
                    0.034615430610340926,
                    0.0402342600562761,
                ],
                [
                    -0.006559831209784058,
                    0.0017088615713023883,
                    -0.0019040696419069022,
                    0.005184101510091046,
                    -0.007728349112989219,
                    0.0005400312459417156,
                    0.0076275646421023625,
                    -0.004103131739530507,
                    0.0029848078513545644,
                    -0.00874604819281035,
                    -0.0016581362650832745,
                    -0.005271085107613324,
                    0.0018165410810351416,
                    -0.009914861915354473,
                    -0.0028281968589400196,
                    0.005439492166340288,
                    -0.007473657542615047,
                    0.0007950828596733515,
                    0.007882586108578279,
                    0.00427010832562409,
                    -0.008641445649749686,
                    -0.0003718623299047284,
                    0.006716266281712858,
                    -0.005014952068712034,
                ],
                [
                    -0.009659736803395966,
                    -0.001390535563748656,
                    -0.006184403518139252,
                    0.00208485233419104,
                    0.009173056142223808,
                    -0.002557563811057666,
                    0.00453030888249002,
                    -0.007200776943671231,
                    -0.00011311386728052984,
                    0.008155870266129364,
                    0.00336169176422297,
                    -0.008369150661626591,
                    -0.0012812742400873833,
                    0.0069880335253331176,
                    -0.005923728308226437,
                    0.002345954847201578,
                    0.00943426493200577,
                    -0.00229626939756641,
                    -0.007090220795739443,
                    0.0011788038673913564,
                    0.008266352983281348,
                    -0.003464938101300565,
                    0.0036222672166223847,
                    -0.008109662448082753,
                ],
                [
                    -0.9160979732004472,
                    -0.6413006894922905,
                    -0.46062772139142444,
                    -0.42294831354007756,
                    -0.26476095535415384,
                    0.06929436252327437,
                    0.30182393598872825,
                    0.49784975483047983,
                    0.6143037450157585,
                    0.6386771155475518,
                    0.600488414713716,
                    0.6521820518515271,
                    0.6685181829032788,
                    0.8508923068067396,
                    1.0859709529414854,
                    1.2607960296002032,
                    1.0021223743017782,
                    0.5759483534090177,
                    0.26926338544464273,
                    -0.04827065045010466,
                    -0.15013605312501938,
                    0.1660816982636188,
                    0.9758542718628944,
                    2.74447109167583,
                ],
                [
                    0.004153381416172368,
                    0.000540738122478393,
                    0.0076283424723310785,
                    -0.004103036772047668,
                    0.0029846408038199457,
                    -0.008746238225343306,
                    -0.0016581233306769256,
                    0.0066111123205606975,
                    -0.006300625231389966,
                    -0.009913242090435592,
                    -0.0028252693784943965,
                    0.00544403838377329,
                    -0.00746793302319607,
                    0.0008014545092430185,
                    0.00788952855233675,
                    -0.003841314607141887,
                    0.0032462551462218454,
                    -0.00036691444098307897,
                    0.006720907462657883,
                    -0.005009654330318323,
                    0.0020785006175982265,
                    -0.009652305848751572,
                    -0.002564687906647745,
                    0.004521898740442495,
                ],
                [
                    0.010768567728855375,
                    -0.0006196912211620042,
                    0.006611546120372727,
                    -0.005252205509828025,
                    0.0017340042748780324,
                    0.010145435778146555,
                    -0.002750029062347827,
                    0.005675629836162811,
                    0.0010667956826283754,
                    0.009436039417937477,
                    -0.003498066774209596,
                    0.00486807311331311,
                    0.011986641049309316,
                    0.00047694123879255603,
                    0.00781951132139723,
                    -0.0037573563040879067,
                    0.011150316304029665,
                    -0.0019320684719269184,
                    0.0065672080809764674,
                    -0.00612880575638734,
                    0.002513062382187099,
                    0.010425586394656093,
                    7.920110547386066e-5,
                    0.009849095326820233,
                ],
                [
                    0.007166959846137656,
                    -0.004373743228908672,
                    0.002885273489074079,
                    0.011239047840907101,
                    -0.0013780259256782283,
                    0.0072796761666094854,
                    -0.005463495778758068,
                    0.01080916620434565,
                    -0.0022924345223240454,
                    0.005809510209853396,
                    -0.007267565498442925,
                    0.0009260620285794829,
                    0.007959458175826804,
                    -0.004896110552224374,
                    0.00362922874088847,
                    0.011125783816389347,
                    0.007868422708192711,
                    -0.0038397595566182024,
                    0.0030706335576314945,
                    0.00983929118580395,
                    -0.0022109885662241796,
                    0.00468949885756715,
                    -0.007122494211243207,
                    0.0002117672475165636,
                ],
                [
                    0.0029893448728019233,
                    -0.008741382922515532,
                    -0.0016537258261974587,
                    0.006614957215267292,
                    -0.006297353098024231,
                    0.00197204847828953,
                    0.009060133448906793,
                    0.005447524504308856,
                    -0.007464754025186615,
                    -0.0003768972119963152,
                    0.007892100488948046,
                    -0.005020049699900585,
                    0.0032491470399957684,
                    -0.00966290005189263,
                    -0.0013933583257512226,
                    -0.006186861455735419,
                    0.0020825111521618417,
                    0.009170036568056032,
                    -0.002560915288454482,
                    0.00452683093820335,
                    -0.007204203065642291,
                    -0.00011641810030086697,
                    0.00815285720501962,
                    0.0033595327541565763,
                ],
                [
                    0.0005093803415705951,
                    0.007655496130170697,
                    -0.004108724009658425,
                    0.004011290578637168,
                    -0.008844532653869013,
                    -0.0016018977829202982,
                    -0.0050199526495577455,
                    0.0021893053777092683,
                    0.01064478158180916,
                    -0.002193797521471199,
                    0.006110711851272066,
                    -0.00673646134545876,
                    0.0015985831279196397,
                    0.008786179849232044,
                    0.005311151510519923,
                    -0.007531101339339931,
                    0.0006336856567146904,
                    0.0074441138312307965,
                    -0.004487325906020422,
                    0.0024383093571762795,
                    0.010509446665538397,
                    -0.002655405743454857,
                    -0.006637810608593419,
                    -0.00016492139703391253,
                ],
                [
                    -0.0032005254212043102,
                    0.0038875276109758402,
                    -0.007843388331960568,
                    -0.0007558828331490123,
                    0.007513556010839206,
                    -0.005398114957713327,
                    -0.009009289449323882,
                    -0.0019213273769157996,
                    0.006348218107712107,
                    -0.00656377254495488,
                    0.001704024797374833,
                    0.008791406694788232,
                    -0.0029401429704019842,
                    0.00414830791263843,
                    0.0005367786456880137,
                    0.007627028222275071,
                    -0.004101418684292886,
                    0.0029881472496888105,
                    -0.008742097626011152,
                    -0.001654961956437761,
                    0.006610982800513007,
                    -0.006301551560396029,
                    -0.009914835958220961,
                    -0.0028270611040024187,
                ],
                [
                    -0.006101531292000163,
                    0.0010238737058036627,
                    0.009332307837806494,
                    -0.0035615283428752143,
                    0.004759429921061856,
                    4.0991989127277176e-5,
                    0.008333816822122146,
                    -0.004604174772649349,
                    0.003627615320018973,
                    -0.009313206185989025,
                    -0.0010707826806460488,
                    0.006007791069432291,
                    -0.00573519434387467,
                    0.009486559918130383,
                    -0.002185809055490457,
                    0.004988802593874447,
                    -0.006674702732926355,
                    0.0004284858032484822,
                    0.008673453377265192,
                    -0.004303583941149185,
                    0.002721319432219884,
                    -0.0009171287303415905,
                    0.006179565354764966,
                    -0.005443192991070712,
                ],
                [
                    0.009743189641281463,
                    -0.0019972164744890813,
                    0.0062776045359556176,
                    -0.006616884061002369,
                    0.009786955919147845,
                    -0.0031279005062437074,
                    0.005110769691380802,
                    -0.007879687095605025,
                    0.0002993076705800857,
                    0.007333977626958383,
                    -0.004433057500977352,
                    0.002624229372458467,
                    -0.0010075991197198567,
                    0.006059428107254501,
                    -0.005661343700077104,
                    0.0014858081499658248,
                    0.008686429013993502,
                    -0.002956826101892588,
                    0.00417715262368302,
                    -0.007523733763967391,
                    -0.00042493085693350187,
                    -0.004045522856495935,
                    0.0030147862611650932,
                    -0.008780682005029235,
                ],
                [
                    0.012540354738642434,
                    0.001220441434214254,
                    0.010211102380237263,
                    0.01800271030361982,
                    0.013069776974417757,
                    0.0012877399137948017,
                    0.007098734309948663,
                    0.014053491720987172,
                    -0.0007444443738946325,
                    0.006611205674649876,
                    -0.007100516225496301,
                    0.0005978174040189912,
                    -0.0047416608082976,
                    0.003332324339740653,
                    -0.009323701012594011,
                    -5.419952685191973e-5,
                    0.008220728272565057,
                    -0.0017925672139233598,
                    0.00664484771238929,
                    0.015527695505486511,
                    0.011901423538952315,
                    0.00287822883054123,
                    0.014742849684183988,
                    0.03237532826166422,
                ],
                [
                    0.003250507934829412,
                    -0.008480567881298398,
                    -0.0013932095831791606,
                    -0.005006360609509606,
                    0.002080950223313738,
                    -0.009650651758423699,
                    -0.002562675491157452,
                    0.005707083209302897,
                    -0.007204155398945533,
                    0.0010652855717031885,
                    0.008153329262244026,
                    0.004540685084325847,
                    -0.008371291174355493,
                    -0.00010218590183267218,
                    0.006985055530518959,
                    -0.004747069783888805,
                    0.002339323421256749,
                    -0.009392737768461393,
                    -0.002305067136069269,
                    -0.005916855899598713,
                    0.0011721389396551877,
                    0.009441962845043991,
                    -0.0034703583380457665,
                    0.004796534842732844,
                ],
                [
                    0.0006159698663645284,
                    0.008819017217566562,
                    0.003927397188141481,
                    -0.007892038720379614,
                    -0.0008992901912881427,
                    0.007247435584919224,
                    -0.0056242230998333875,
                    0.0028022430497615125,
                    0.010131104032836985,
                    -0.001487240376253573,
                    -0.0061608344255092975,
                    0.002177854584842318,
                    0.009323908320324077,
                    -0.0023913108852460494,
                    0.004582622838312554,
                    -0.007403614755131472,
                    -0.00059132887293584,
                    0.007488261900916045,
                    -0.0054776367925713125,
                    -0.009020212252406646,
                    -0.0018857589671499567,
                    0.006295401674229926,
                    -0.006878492209808285,
                    0.0007718988462057997,
                ],
                [
                    -0.0025047046530844875,
                    0.005777617906781423,
                    0.0010068482858716255,
                    0.009304943133970343,
                    -0.0034953651410870716,
                    0.004890823915391824,
                    -0.00794239088195561,
                    0.0003028189144616159,
                    0.007358744951707317,
                    -0.004403888144415967,
                    -0.009232182335525,
                    -0.0009817810830462217,
                    0.006107209667598983,
                    -0.005619758162010113,
                    0.0015211896714450333,
                    0.00988403050285581,
                    -0.0029119406899169257,
                    0.005361649689429468,
                    0.0004901193011046513,
                    0.00865600700071092,
                    -0.004390828048955527,
                    0.003706149895184082,
                    -0.009445498513298756,
                    -0.0027148212506340717,
                ],
                [
                    -0.006040602563831603,
                    -0.009652774797272095,
                    -0.0025643745343829224,
                    0.0057049894921712765,
                    -0.007205791714211303,
                    0.001065078663059865,
                    0.008153432362591792,
                    -0.0035784478424994303,
                    0.003508270594073361,
                    -0.00010515190782691028,
                    0.00698211718039295,
                    -0.00474882756567859,
                    0.0023389883981014417,
                    -0.009391587914172652,
                    -0.0023021545005088564,
                    0.005969530640863498,
                    -0.006939979321960846,
                    0.008267273854094457,
                    -0.0034634622178433615,
                    0.003623265959788222,
                    -0.008109104121486212,
                    -0.001022437402224277,
                    0.00724575955397404,
                    -0.005666748749207864,
                ],
                [
                    0.0016381977327337193,
                    0.010155771956429116,
                    -0.00021736852476031727,
                    0.00870384360814227,
                    0.018238071698058095,
                    0.009570793694038678,
                    0.017821327966450713,
                    0.004670075933677287,
                    0.009880945778118105,
                    0.004788451583123042,
                    0.010486714027993293,
                    -0.0018215080824480112,
                    0.004875967105170839,
                    0.012411992905108495,
                    0.0029491381608620386,
                    0.013756575322045234,
                    0.025533155101298388,
                    0.021633999548470728,
                    0.008881534189277035,
                    0.013673051630781531,
                    0.019363173219912093,
                    0.0046242388369501924,
                    0.011603620590579056,
                    -0.0010355071214290838,
                ],
                [
                    -0.0037529799037960662,
                    0.003341503035495387,
                    -0.00839358093330085,
                    -0.0013240950874952692,
                    0.0069102080711016855,
                    -0.006023591457893597,
                    0.0022185273280404417,
                    0.009290547702173852,
                    0.005660269842998217,
                    -0.0072581957878399776,
                    0.000999291901663826,
                    0.008078875491962303,
                    -0.003662152471867336,
                    0.0034138583269940543,
                    -0.008315982789677878,
                    -0.0012196886484497898,
                    -0.00482807571344452,
                    0.0022756011086127966,
                    -0.009415867562783545,
                    -0.002290345273952752,
                    0.006021911386073971,
                    -0.006831702883779548,
                    0.0015079299795333423,
                    0.008687991311200814,
                ],
                [
                    -0.00613459690840791,
                    0.0013573935187992736,
                    0.009665225931516832,
                    -0.0036816464376580992,
                    0.0043462948751504405,
                    -0.008388374067968163,
                    0.00012940959727479175,
                    -0.004177082902420932,
                    0.0047177189436099125,
                    0.012089263051667236,
                    0.00046119052801742855,
                    0.007771147713697979,
                    -0.003838250668003488,
                    0.003624981904268701,
                    0.012254903080818452,
                    0.0074621064822213996,
                    -0.005125314204877196,
                    0.0010137216485519025,
                    0.008978493949452987,
                    -0.004153977636182362,
                    0.004069926447975764,
                    0.011598513517544987,
                    0.0007962379371797968,
                    0.009928706718282606,
                ],
                [
                    0.009802733964396751,
                    -0.0031088623872492383,
                    0.005161377785942385,
                    -0.0077501772752416875,
                    0.0005197007358761322,
                    0.007607587231323124,
                    -0.004123878946766175,
                    -0.00891848681886275,
                    -0.000650496757943501,
                    0.006435901769311079,
                    -0.005295238386528241,
                    0.0017925949906671056,
                    0.010061395647685557,
                    -0.0028506314258020184,
                    0.005418407564006156,
                    0.000625040848303313,
                    0.008895338731978583,
                    -0.00401603395183985,
                    0.004253472201476268,
                    -0.008658882302040358,
                    -0.0003903162883724409,
                    0.006696815580418093,
                    -0.005034003733757731,
                    -0.009827118826947132,
                ],
                [
                    0.014969922069268431,
                    0.002351092705695416,
                    0.011463087707571614,
                    0.019597859793847115,
                    0.007556693279949167,
                    0.01415893131750073,
                    0.008612140807876086,
                    0.01393730965534679,
                    -0.00020564188502606123,
                    0.005746898932288544,
                    -0.006926466903087322,
                    -0.0005943946068253411,
                    0.0069709835456324,
                    -0.006362451012424103,
                    -0.009966542798332999,
                    -0.001998018245281938,
                    0.007722044170522081,
                    -0.002698543459665374,
                    0.007595777459940111,
                    0.01577139700598847,
                    0.00450738941951202,
                    0.016007759741469917,
                    0.01675097748040862,
                    0.03571725228253765,
                ],
                [
                    0.002346276585875934,
                    -0.00938506411624464,
                    -0.001116037422739944,
                    0.005972349754056043,
                    -0.005758416499349548,
                    0.009446924082276487,
                    -0.0022840456310724393,
                    0.004803863556060347,
                    -0.006926963447673079,
                    0.00016072015280332164,
                    0.008429812197221472,
                    -0.004482643516518664,
                    0.0037863218300088907,
                    -0.001008255520583663,
                    0.0072597948752689484,
                    -0.005653706550442093,
                    0.0014333504821125059,
                    0.00970211234833344,
                    -0.0032105186865532464,
                    0.00505900801515736,
                    -0.007852389477495598,
                    0.00041706556940720714,
                    -0.00437721505730657,
                    0.0038897691675959453,
                ],
                [
                    0.010615942504723353,
                    0.019977158263597382,
                    0.009913547569386328,
                    0.018262161215735543,
                    0.005233408522919123,
                    0.019416917603321954,
                    0.003985837737742919,
                    0.008384972628022926,
                    0.01299412310208953,
                    -0.0015578300279081995,
                    0.004023339354412994,
                    -0.008685154876481445,
                    -0.002758542886684269,
                    -0.006579371293983076,
                    0.0010098471261321634,
                    -0.009014536028563211,
                    -0.0003711777382187921,
                    0.011881072704138334,
                    0.003202069674356127,
                    0.014144647459550035,
                    0.025285629178959806,
                    0.029702939617666405,
                    0.03006710899444531,
                    0.06346734973804466,
                ],
                [
                    -0.0037930804507786105,
                    0.004472306272822957,
                    -0.00844190431322784,
                    -0.00017685483074053167,
                    -0.004976956918437136,
                    0.00329170102726572,
                    -0.009628206664104251,
                    -0.0013672629730580557,
                    0.005713118284544462,
                    -0.006019763754813481,
                    0.001069555031079179,
                    0.009337727482900812,
                    0.004544150182012927,
                    -0.007188946939493383,
                    -0.00010016422589213224,
                    0.008170308679059468,
                    -0.004741764134620203,
                    0.003531585036935028,
                    -0.009376672847505093,
                    -0.0011028740640531233,
                    -0.005889611747029943,
                    0.0023883725163145377,
                    0.009487005228960168,
                    -0.00223575305209484,
                ],
                [
                    -0.0068009308214848,
                    0.0014613364862451142,
                    0.008540547571009454,
                    0.0049215882744495145,
                    -0.007991590348935188,
                    0.0002709467308223005,
                    0.0073627449443596435,
                    -0.004360953016794985,
                    0.0027403760045634036,
                    -0.008987226400528596,
                    -0.0018964348886285442,
                    0.00637311879618224,
                    0.0015865465297307756,
                    0.009853298689392808,
                    -0.0030701936062791087,
                    0.005181219940839802,
                    -0.0077391722230193616,
                    0.0005222616573576667,
                    0.00760350357969615,
                    -0.004118264684553834,
                    -0.008912422302018603,
                    -0.0006671458569657413,
                    0.006369535398068527,
                    -0.0054710414585986585,
                ],
                [
                    0.008648896676910581,
                    0.02791414422034591,
                    0.08859643479550144,
                    0.12412385910206299,
                    0.10065256431500436,
                    0.09560280244195997,
                    0.029892731618542296,
                    -0.023962896772542125,
                    -0.1120745952304271,
                    -0.13511857238624847,
                    -0.18470701599178901,
                    -0.21387119875737406,
                    -0.2349982480854608,
                    -0.22448860811926635,
                    -0.20806449903715907,
                    -0.14695503793278372,
                    -0.13076261611920514,
                    -0.1000969039910278,
                    -0.057179156624312555,
                    -0.07198692485442747,
                    -0.0010489760655790937,
                    0.21292037927724314,
                    0.653806213178783,
                    1.5063111752349279,
                ],
                [
                    0.031178950643396416,
                    0.028985004457544306,
                    0.037345941936849744,
                    0.056574115858654975,
                    0.07456115320120195,
                    0.07864518030271811,
                    0.08202833755728355,
                    0.07442773143211968,
                    0.035762322369178194,
                    0.029261847783871395,
                    0.01127027104233938,
                    0.011425215087926764,
                    -0.008284877417120973,
                    7.073563835394866e-5,
                    -7.942429913583125e-7,
                    0.03430413125163473,
                    0.06606150524255651,
                    0.06883200787776002,
                    0.0848680702883642,
                    0.06096518860666329,
                    0.0618838085405057,
                    0.06450349903105658,
                    0.11041869423341434,
                    0.2118470465056814,
                ],
                [
                    0.008689115159725444,
                    0.007252206814402646,
                    0.016001106728573574,
                    0.004472371905310905,
                    0.011429983641271069,
                    0.001185415864654127,
                    0.007771566458262114,
                    0.015527479966128478,
                    0.0013000818660741451,
                    0.008778683771063528,
                    0.002803065364911362,
                    0.010719457459151123,
                    -0.0026257780486738627,
                    0.005439783898233428,
                    0.015771509799335066,
                    0.005243949858003487,
                    0.013305650860725325,
                    0.02001334154063803,
                    0.016981520717126077,
                    0.003927336711156046,
                    0.013717874248731183,
                    0.026488186306533247,
                    0.025610385687750637,
                    0.05454481965318078,
                ],
                [
                    0.0008742931587496195,
                    -0.0027529830978460096,
                    0.00432188958967254,
                    -0.007444402805573569,
                    -0.0004107845025642547,
                    0.007835962594982347,
                    -0.005121352004722074,
                    0.0031112266942188724,
                    -0.009847659269864,
                    0.005358911146366497,
                    -0.006375171469835023,
                    0.0007078078799317319,
                    0.008976912538559749,
                    -0.003944854126723832,
                    0.004345386041339576,
                    -0.008527722417401582,
                    -0.0002246622294991896,
                    -0.004962815947853024,
                    0.0033925819320011663,
                    -0.009453233341372994,
                    -0.0011096524634920902,
                    0.006060302347640907,
                    -0.005582439831933173,
                    0.001602729914864539,
                ],
                [
                    0.005636636274125124,
                    -0.007272701281544446,
                    0.0009981971378827334,
                    0.009274480215517618,
                    -0.0036279035883930466,
                    0.00346570949537975,
                    -0.008258809062533396,
                    -0.001167001455465047,
                    -0.0047728565549255185,
                    0.0023135565437105233,
                    -0.009419368515731448,
                    -0.002332387678440464,
                    0.0059342443987338254,
                    -0.006977547537439142,
                    0.0012858731091729939,
                    0.008367798194095418,
                    0.00475276598746425,
                    -0.008164833866300658,
                    9.548200194870544e-5,
                    0.007174220486623154,
                    -0.004568660901908475,
                    0.0025077066722285217,
                    -0.009235894034286301,
                    -0.002161398205987697,
                ],
                [
                    -0.426359795729781,
                    -0.3486172654796625,
                    -0.34502886512043884,
                    -0.38361796987371977,
                    -0.3068240030062181,
                    -0.17589368935376684,
                    -0.011634877864997777,
                    0.07457709999067362,
                    0.19853824207062062,
                    0.25057176335324716,
                    0.27100285745368596,
                    0.2938474076412198,
                    0.342511509878834,
                    0.40710005212827843,
                    0.4735795572969619,
                    0.49891377651761576,
                    0.41538144300163227,
                    0.22201122413323243,
                    0.05482877976042672,
                    -0.029479695185834917,
                    -0.12209655855264087,
                    -0.1959047861881739,
                    -0.32412882759466816,
                    -0.7083882091596987,
                ],
                [
                    0.03023183613315922,
                    0.03966283881365867,
                    0.032333115654690416,
                    0.043301236130618245,
                    0.027101375919803636,
                    0.030277215841449955,
                    0.02788630770231804,
                    0.016800905433103454,
                    0.01554332469878217,
                    -0.001144276890491094,
                    0.00347836038911226,
                    -0.012128229529004182,
                    -0.007061586411066565,
                    -0.0008969966799114949,
                    -0.012378367622379422,
                    -0.014603186590435281,
                    -0.004707333353647378,
                    0.011451486121988338,
                    0.009722723266462367,
                    0.022227979149274428,
                    0.04038776849925003,
                    0.0489382919889824,
                    0.09425737335011357,
                    0.16134005097994567,
                ],
                [
                    -0.003564808111237445,
                    0.003522086448953556,
                    -0.008209200903667339,
                    -0.0011215145161433935,
                    0.007146991240569476,
                    -0.0057659313286486545,
                    -0.009379257136742784,
                    -0.0022914540257980257,
                    0.005977189711691422,
                    -0.006934699253447945,
                    0.001334726128972041,
                    0.008422394307314954,
                    -0.003308741676274009,
                    0.0037789958666297253,
                    -0.007952792601899017,
                    0.007252046119442542,
                    -0.0044796024076231905,
                    0.0026080420817077375,
                    -0.009123160981352843,
                    -0.0020353396170508515,
                    0.00623358826472613,
                    -0.006678253161729635,
                    0.00041076405492171164,
                    -0.003198912797561043,
                ],
            ],
            biases: [
                -0.008655163153851498,
                -0.7248754271980155,
                0.009342769090365646,
                0.0020760186328014968,
                -0.0010197138303788941,
                -2.3531571633637816,
                -0.007207071164573149,
                -0.0026208758657916037,
                -0.0046417819488379555,
                -0.008374693360022901,
                0.009749628172350575,
                0.005451727321903636,
                0.001217879289375456,
                -0.0015295473593428261,
                0.000639154297595236,
                -0.008109444984067144,
                0.009465841784315943,
                0.006518042076081579,
                0.0025969313061026495,
                0.0023341374348856414,
                0.005334387581473894,
                0.0028942349224484964,
                -0.0027574560618362854,
                0.0010812260450943317,
                -0.009013898296146758,
                0.01385228907402281,
                0.005013236635576015,
                0.0021476571355992717,
                0.28723594572557004,
                -0.013942663327222618,
                -0.00600632524701565,
                0.010368081567977664,
                0.005964313612005118,
                -0.31433714652347844,
                0.03021770369646507,
                0.0039195770103683395,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    -0.006600699999999999,
                    0.4009716269150944,
                    0.041804630028521916,
                    -0.0030141501163711924,
                    0.004113100000000001,
                    0.06032614443590312,
                    -0.0005300000000000005,
                    0.0068077278565897995,
                    -0.017240777150719658,
                    -0.008810608582892324,
                    -0.012772607305065303,
                    0.0033669312534283535,
                    -0.010059059052220912,
                    -0.01664041574696903,
                    0.035398162781726195,
                    -0.00271516,
                    -0.010406259620096898,
                    -0.017526194154022703,
                    0.007515902976355121,
                    -0.04385554785071929,
                    0.010573408229984753,
                    0.003946557519635016,
                    -0.0030515797645716504,
                    0.03364175385853966,
                    0.002036500000000001,
                    0.040505574346963454,
                    -0.0029567447186257764,
                    -0.0052904350776738366,
                    0.31137465718270274,
                    0.0005906302176090771,
                    0.0224455978844152,
                    -0.0025907976893175234,
                    0.0005821908012837316,
                    -0.17091090390426159,
                    0.07636259411927403,
                    -0.006722509589807376,
                ],
                [
                    -0.00943488,
                    0.39240114760160855,
                    0.041363465654194825,
                    -0.005847261525681237,
                    0.009397059999999999,
                    0.058707322997241046,
                    0.004753959999999999,
                    -0.00507232057660359,
                    -0.016055857135524015,
                    0.007184795211157324,
                    -0.016071748324878857,
                    -0.00037729471851064917,
                    -0.0033171101179684873,
                    -0.009837595964402573,
                    0.024940495138994382,
                    0.0013874800000000008,
                    0.008479996092451215,
                    -0.019714109481260605,
                    0.004692388549319309,
                    -0.041147877050887294,
                    0.01669791801367498,
                    0.009749549431183464,
                    0.0035296033344438334,
                    0.023218045852919082,
                    -0.0007976799999999995,
                    0.041218093524398515,
                    -0.005122844042939915,
                    -0.006916248431831337,
                    0.3083604729916763,
                    0.01895404654918386,
                    0.012598581063694894,
                    0.0047940946838990845,
                    0.006972450953718228,
                    -0.1610193618646811,
                    0.07752345527029182,
                    -0.009544891152607359,
                ],
                [
                    -0.0053322199999999995,
                    0.37901992309755567,
                    0.025348939068638637,
                    -0.0017461442072543678,
                    0.0053815799999999995,
                    0.05626077204958955,
                    0.0007384799999999992,
                    0.0015309559600556715,
                    -0.0072588413177951065,
                    -0.007500476795566111,
                    -0.012496734294609265,
                    0.005242134709523819,
                    -0.0054570944853659506,
                    -0.01146072764418033,
                    0.025985751553669667,
                    0.00667144,
                    -0.008559306617967364,
                    -0.010960139031073918,
                    0.008808013694785928,
                    -0.02552964174106409,
                    0.012845163136321456,
                    0.0051150411781139314,
                    0.000230486596744525,
                    0.04516933955166616,
                    0.003304959999999999,
                    0.03144727769304794,
                    -0.0005831782369659285,
                    -0.0023413119985062412,
                    0.29700458157383497,
                    0.03439150316591439,
                    0.032385044320758026,
                    0.0027404108644813892,
                    -0.008304861124499944,
                    -0.1431602799980331,
                    0.08474762835683089,
                    -0.0042195733719607815,
                ],
                [
                    -0.0081664,
                    0.35927444189640184,
                    0.03889644767188363,
                    0.002363054793902564,
                    -0.009334480000000001,
                    0.05497944579618005,
                    0.00602242,
                    -0.002634428868803603,
                    -0.005788978009503435,
                    0.008491329537608191,
                    -0.016470197073444794,
                    -0.010210736150712368,
                    0.0022863674927164363,
                    -0.006540748978942102,
                    0.0345702316628151,
                    0.0026559599999999993,
                    -0.013869896036850803,
                    -0.011614993802138384,
                    0.006020024246938723,
                    -0.010265431300867987,
                    0.01697351827703756,
                    0.007242251095987495,
                    0.0058204165798245566,
                    0.03206405567318578,
                    0.00047077999999999953,
                    0.048707254472662595,
                    -0.003112886306654796,
                    -0.01917206127951576,
                    0.27976179073885105,
                    0.05553205759280679,
                    0.021359543220630654,
                    0.006169313478739352,
                    0.008134457937143453,
                    -0.1219998394037314,
                    0.07762901499959424,
                    -0.008162554853528235,
                ],
                [
                    -0.00406376,
                    0.34206010165176837,
                    0.018060530160364695,
                    -0.0004693162950353966,
                    0.006650039999999999,
                    0.05580039459083003,
                    0.002006939999999999,
                    0.0034491934688086925,
                    0.003067450302390163,
                    -0.0061689424547395335,
                    -0.013334241481117533,
                    0.0074351974974978,
                    0.0010416897147276507,
                    -0.007536758370468768,
                    0.03168651850392423,
                    0.0079399,
                    -0.01177395629775066,
                    -0.0024758211775699583,
                    -0.009847655663383153,
                    0.0006620121083527826,
                    0.01164143263222741,
                    0.0005793481626604012,
                    0.002004480813648773,
                    0.03925158622841769,
                    0.00457344,
                    0.035201024175491244,
                    0.0021665460306451766,
                    -0.0022091480643731676,
                    0.2526204883047037,
                    0.0735041991028979,
                    0.02138906919859098,
                    0.012567721151607748,
                    -0.005422427353973048,
                    -0.09494599959494412,
                    0.07843312575216145,
                    -0.003995751283753463,
                ],
                [
                    -0.00689794,
                    0.3222173489929092,
                    0.015398239798011812,
                    0.0036436204906905374,
                    -0.008066,
                    0.059360292982076505,
                    0.0072909,
                    -0.001578572432678177,
                    0.0037403277141769315,
                    0.009845919451480214,
                    -0.007896094427767484,
                    -0.007827312268128618,
                    0.007183689997398145,
                    -0.0008161324235065521,
                    0.03183205927797238,
                    0.00392442,
                    -0.016023906774576116,
                    -0.003096109832102547,
                    -0.004503283326294564,
                    0.015808977190912597,
                    -0.004174046366502241,
                    0.00010674999374441502,
                    0.006979431903849853,
                    0.030303799665657185,
                    0.0017392600000000003,
                    0.045245761463941034,
                    0.0003199021927101662,
                    -0.01858749116004474,
                    0.21304363893342063,
                    0.0808724499491204,
                    0.025991508779800294,
                    0.011257836452334477,
                    -0.0075294313889735605,
                    -0.05760947884445192,
                    0.05891556688929519,
                    0.001470079273388113,
                ],
                [
                    -0.00279528,
                    0.30286156048969365,
                    0.006943681926449271,
                    0.0008184566356912659,
                    0.00791852,
                    0.06575513218018697,
                    -0.00860646,
                    0.004158804085789176,
                    0.0099613988839681,
                    -0.004832901070784801,
                    -0.010165225457501082,
                    -0.010487735882134313,
                    0.002446934405253595,
                    -0.0009085348382243666,
                    0.02863753294382505,
                    0.00920838,
                    -0.011719018942537648,
                    0.0030232458519320687,
                    -0.008478799270827024,
                    0.017687292726958473,
                    0.011551150589468632,
                    -0.0026199870046867513,
                    -0.008805712840838318,
                    0.027672413369579735,
                    0.0058419,
                    0.023218102997370153,
                    0.004738014388668353,
                    -0.0006786596692932303,
                    0.1754821683829894,
                    0.07055552749929411,
                    0.03017467975224828,
                    0.016363237658178452,
                    -0.001178960048213794,
                    -0.026770471939173486,
                    0.029999026422761997,
                    -0.002466548842527135,
                ],
                [
                    -0.005629459999999999,
                    0.2755077879047178,
                    0.009647188763500335,
                    0.004925514144004227,
                    -0.0067975399999999995,
                    0.07242736636698659,
                    0.00855936,
                    -0.003427978772466273,
                    0.004719449581499933,
                    -0.008934245881960502,
                    0.0031763345907934695,
                    -0.006176936741819704,
                    0.0015225766462458644,
                    0.004217628188580906,
                    0.009166263811253765,
                    0.0051929,
                    -0.011648851519603003,
                    0.0007657038299254417,
                    -0.0031732681834717004,
                    0.01220305170263209,
                    -0.0024041829062378993,
                    0.0021040167629156757,
                    0.008977623238636963,
                    0.006245363173990407,
                    0.0018264199999999996,
                    0.00925201853130379,
                    0.009439472492590455,
                    -0.0127807583320256,
                    0.13638598044863146,
                    0.05162781625708176,
                    0.015172124859823487,
                    0.014925153156134185,
                    -0.0033219708708494694,
                    0.012153162032680832,
                    0.021143250491056396,
                    0.0028593739124644435,
                ],
                [
                    -0.00152682,
                    0.24761092646014862,
                    0.012448885747980422,
                    0.002091228826618488,
                    0.00918698,
                    0.07811017839549692,
                    -0.007337979999999999,
                    0.0110295234298473,
                    0.01052282790413822,
                    -0.0037662645951196164,
                    0.0007163764649701139,
                    -0.009125969029705644,
                    -0.00019139663057735987,
                    -0.007851534276592067,
                    0.008526827370646145,
                    -0.009523160000000001,
                    -0.005029934969391822,
                    0.002089880078799794,
                    -0.007191189030491138,
                    0.006813483846368742,
                    0.012472592631646321,
                    0.020403643134353597,
                    -0.005873175498131799,
                    0.00534962137111417,
                    0.00711038,
                    0.006762613581766976,
                    0.005589433733173534,
                    0.006697291662048726,
                    0.10339175521202192,
                    0.02110748847187925,
                    0.023933212047697043,
                    0.014136416790006953,
                    0.0001270638583951154,
                    0.04760483692930967,
                    0.005388162799679351,
                    -0.001142865398736948,
                ],
                [
                    -0.004361,
                    0.22989400399379345,
                    0.015360320537970883,
                    0.006197074780998163,
                    -0.00552906,
                    0.08284510627685711,
                    0.009827840000000001,
                    0.0028941442096227727,
                    0.004651051179563125,
                    0.00028825855617465814,
                    0.011204024978439616,
                    -0.004968377213840552,
                    0.0016911697903543223,
                    -0.01154212555014349,
                    -0.004656965916678385,
                    0.00646136,
                    -0.005998838122265477,
                    0.008189679954820615,
                    -0.0018990815809798078,
                    0.0050545213875827335,
                    -0.002200291811762006,
                    0.015059727854001967,
                    0.010966460244820994,
                    -0.008952463354109126,
                    0.0030949000000000003,
                    0.006340637798490578,
                    0.009298297227987477,
                    -0.004596251472755137,
                    0.08098055846358505,
                    -0.002891889221943058,
                    0.011787446944025722,
                    0.011664062794319249,
                    -0.002850440750160579,
                    0.07044781194565232,
                    0.005013328162852987,
                    0.00415816067873673,
                ],
                [
                    -0.00025834000000000024,
                    0.21513988866034287,
                    0.0160105574656233,
                    0.0033650740782066564,
                    -0.0014264200000000005,
                    0.08446081094481059,
                    -0.006069519999999999,
                    0.015331711741491305,
                    0.01163854118912485,
                    -0.0025680431719255267,
                    0.006532956228093858,
                    -0.007748037685595783,
                    0.0013371259931773446,
                    -0.003939608146966541,
                    -0.0003642808239051814,
                    -0.00825468,
                    -0.0018589386869147584,
                    0.0032380319303495783,
                    -0.005917223373645177,
                    0.005398955177504525,
                    0.012585786826808285,
                    0.028511127181817742,
                    -0.0032523857811971417,
                    -0.006082463300908613,
                    0.00837884,
                    -0.0011861067885717983,
                    0.00630123423343591,
                    -0.007000490337806765,
                    0.06422578299583975,
                    -0.009067324157814296,
                    0.023974169783966034,
                    0.012887169099835848,
                    0.0013542622048489078,
                    0.08494586047079393,
                    -0.0049214195220845195,
                    0.0001584405781134945,
                ],
                [
                    0.005025599999999999,
                    0.20356025327898022,
                    0.01748931852554728,
                    0.007469336273811534,
                    -0.0042606,
                    0.08649923135280911,
                    -0.0089037,
                    0.0059072270861110195,
                    -0.005389167810846234,
                    0.0015001770029582709,
                    0.015408295445665741,
                    -0.00331940208380573,
                    0.003538446137380493,
                    -0.008085103347248363,
                    -0.00722215232915061,
                    0.007729839999999999,
                    0.004889643488989152,
                    -0.009689004052066382,
                    -0.0018042456756641489,
                    0.0063897497406507735,
                    -0.0025290399600266613,
                    0.01916121579029669,
                    0.012976890056225723,
                    -0.013051306268406563,
                    0.00436336,
                    0.002805762995651189,
                    0.010398986232438583,
                    -0.0005181624240248137,
                    0.050206417588519646,
                    -0.015388847111687315,
                    0.012963786246937642,
                    0.01181151604181055,
                    -0.0014870201969071884,
                    0.09734334481996773,
                    -0.0018100864330977923,
                    0.00548010350299779,
                ],
            ],
            biases: [
                0.05752995498232788,
                0.05459766880496461,
                0.05235759969256359,
                0.05267326249310192,
                0.0594152406978019,
                0.07860089007798052,
                0.10974759631845604,
                0.14549201496375,
                0.17914789264049272,
                0.20387913447624778,
                0.2167655182839217,
                0.22755305334156448,
            ],
        },
    }
}

pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
    NeuralNetwork {
        input_layer: Layer {
            weights: [
                [
                    0.490543425586734,
                    0.40325887785261877,
                    0.36351522475249765,
                    -0.2207618715511705,
                    -0.3938878546498854,
                    -0.8167060150824849,
                    -1.2098592623920554,
                    -0.9262153459143743,
                    -0.5114383354090553,
                    -1.176084020131589,
                    -0.9785825446177374,
                    -1.3463890362920035,
                    -0.8323254890771108,
                    -0.35648636601388095,
                    -0.058703408184882816,
                    0.4542798011431502,
                    0.013941888557451236,
                    0.06969861206834846,
                    0.33583802583778116,
                    0.35388962778164074,
                    0.6819292061282671,
                    0.2893385996141487,
                    0.868203670579321,
                    0.9909952189474954,
                    0.572239782755332,
                    0.44462523424832173,
                    0.515219564121671,
                    0.5477162820886472,
                    0.34245716691921807,
                    0.27941278532909114,
                    0.005535629049800074,
                    -0.07236736054620682,
                    -0.2310654892410129,
                    -0.2529268085912041,
                    -0.42025832481910663,
                    -0.4004758292655579,
                ],
                [
                    -0.05167328224475065,
                    0.019738941062404144,
                    -0.09624140684894196,
                    -0.024740354456574222,
                    -0.060650454915202934,
                    0.010655410791419663,
                    0.09496834094517051,
                    -0.03357379566103968,
                    0.050734182144713466,
                    -0.0786437126155452,
                    0.004395999432762782,
                    0.074913875984199,
                    0.03911472919088994,
                    -0.08898773333818698,
                    -0.006752258220440267,
                    0.06324733917472346,
                    -0.05648648311663541,
                    0.014436048015071772,
                    0.09825509272215059,
                    -0.029703874984457597,
                    -0.06637720348023093,
                    0.0034466802994570795,
                    0.0847349642397119,
                    -0.04593160537360581,
                    0.037737004449201826,
                    -0.0914044523919907,
                    -0.020500139965115866,
                    0.06230375313085105,
                    0.014620807847889796,
                    0.09777342366288223,
                    -0.030794854527915513,
                    0.05247441290116556,
                    -0.07614720563396662,
                    0.0069061322153157675,
                    0.07799848522013121,
                    -0.03912155074910087,
                ],
                [
                    0.05913928093061973,
                    -0.06757702258627783,
                    -0.08353136287651773,
                    -0.15253829544181752,
                    -0.2538096733971799,
                    -0.04310553431230006,
                    0.101782566901022,
                    0.2967870491275404,
                    0.5134690954624429,
                    -0.07321072920250878,
                    0.11490422171122489,
                    0.21656454249090185,
                    0.35658795012106226,
                    0.2750603620008691,
                    -0.00332220284665584,
                    0.3044972123985252,
                    0.5093622868230475,
                    0.5932529325235595,
                    0.1983282943619139,
                    -0.31695683644696543,
                    -0.7262220698260357,
                    -0.8893059502113588,
                    -0.6832953761318107,
                    -0.581880624642591,
                    -0.5242149993958284,
                    -0.641398890714903,
                    -0.554066231485651,
                    -0.6413221293054725,
                    -0.5121811146316149,
                    -0.32209851385576554,
                    -0.3295614620787612,
                    -0.10965238344897132,
                    -0.03566968340280646,
                    0.12911698015703893,
                    0.05838180428226669,
                    0.1836547003224281,
                ],
                [
                    -0.036476864678279784,
                    0.04625451846598311,
                    -0.08512161311396636,
                    0.07798164208586837,
                    -0.05177067995383928,
                    0.031871787721184326,
                    -0.09566317728203066,
                    -0.01481694904969048,
                    0.05384742350359365,
                    -0.06373322528485653,
                    0.006188227381027213,
                    -0.04154824585929064,
                    0.04106380195367303,
                    -0.08916319331881269,
                    -0.004970273381911007,
                    0.06891556876927406,
                    -0.044428017852792843,
                    0.02512437831045141,
                    -0.0947084912828345,
                    0.05612762062096908,
                    -0.060437650185159765,
                    0.011925610508051817,
                    0.09500888455760406,
                    -0.03305273268027999,
                    0.04886300688429731,
                    -0.08024244583863312,
                    0.002431747190930428,
                    0.07323070221144465,
                    0.03690157298908782,
                    -0.09262869376290807,
                    -0.010464299594956202,
                    0.05982921157424229,
                    -0.05801036126011136,
                    0.0124891378194886,
                    -0.1050347029575124,
                    -0.03434056028005679,
                ],
                [
                    0.09615046062179036,
                    0.1530214669478296,
                    0.020406234265597713,
                    0.04462650045149591,
                    -0.13146058635768093,
                    -0.11793434725167405,
                    -0.08384443261296935,
                    -0.17115052667397884,
                    -0.2957669130745202,
                    -0.2480875458984229,
                    -0.1798531933513985,
                    -0.3371962412056784,
                    -0.23909918075953587,
                    -0.13082268681208356,
                    -0.23022714645329842,
                    -0.2416261919272885,
                    -0.1754309716940599,
                    -0.1280312335370324,
                    -0.21982476099783493,
                    -0.13015206646768068,
                    -0.2228649445278991,
                    -0.09947299666050873,
                    0.0962530656170983,
                    0.10077336436719408,
                    -0.0664661472361267,
                    0.0014207996094085017,
                    0.08135618264677758,
                    -0.05488099176871361,
                    0.009342919537983708,
                    0.06161098744928446,
                    -0.09144931897031329,
                    -0.166124819577932,
                    -0.11017004819097868,
                    -0.06456399800287319,
                    -0.18397927447124376,
                    -0.12422299943399527,
                ],
                [
                    -0.824059038313555,
                    -0.6750899360496646,
                    -0.7604619877435114,
                    -0.4502850434577181,
                    -0.28320012370993486,
                    0.10842544713026535,
                    0.15673072935040674,
                    0.34019272990088356,
                    0.26787042689610874,
                    0.26568363421744473,
                    0.34904844846052474,
                    0.45844231620747483,
                    0.3960995249796731,
                    0.04558440719623584,
                    0.10556951607669512,
                    0.13435645719207825,
                    0.29770507158896614,
                    0.7050909152362803,
                    0.7287604515834886,
                    0.9673499342378269,
                    0.693635325840167,
                    0.3629332622080109,
                    -0.5563106917645035,
                    -0.9100479514952612,
                    -0.5398486182482902,
                    -0.6294017995281541,
                    -0.5477055919979311,
                    -0.5595708993216504,
                    -0.41126374948385924,
                    -0.5038484083014702,
                    -0.2707516561922544,
                    -0.08752999872484749,
                    -0.09349646541639893,
                    0.12079468796861242,
                    -0.03592242197786984,
                    0.18048084840910344,
                ],
                [
                    0.02965268482595245,
                    -0.08742144760803244,
                    -0.017411006371009192,
                    0.06532255457635801,
                    -0.06265513933299918,
                    0.020103680056219743,
                    0.09092967951691297,
                    0.05231937336248205,
                    -0.07841801655783583,
                    0.005155964217580813,
                    0.07651646504750005,
                    -0.04064226904869603,
                    0.03073597081267533,
                    -0.08684409370920672,
                    -0.016012076002099772,
                    -0.05022354842649624,
                    0.02302168647156229,
                    -0.09383792352293417,
                    -0.02446274633529402,
                    0.05685159907292763,
                    -0.07341368945245777,
                    0.008994478611304101,
                    0.08003118801461515,
                    0.03246396586328427,
                    -0.08568780034154556,
                    -0.014772450888810958,
                    0.06798274090396787,
                    -0.061093672043693356,
                    0.02160728817184729,
                    0.09242629398345605,
                    -0.025023924267495026,
                    -0.07313142063013658,
                    0.00940049928286823,
                    0.08015404160679206,
                    -0.03719853855449475,
                    0.033631791898162886,
                ],
                [
                    0.01723601703825148,
                    0.08564499608334919,
                    0.05319200466189385,
                    -0.07922691289618308,
                    0.0011198360706360208,
                    0.06749817290880367,
                    -0.05590934263807645,
                    0.009990240276439176,
                    0.0950487102533117,
                    -0.0343790834391142,
                    -0.07510420074023888,
                    -0.008901572208716464,
                    0.07438288918280292,
                    -0.04984940248446968,
                    0.030113304486642255,
                    -0.10257901377273762,
                    -0.02789330000583168,
                    0.04624446067156482,
                    -0.05612876514979989,
                    0.10525432604755754,
                    -0.012877276622999046,
                    0.05238210879970185,
                    -0.06220988085846778,
                    0.0024959704403279656,
                    0.0864590423466226,
                    -0.04249229524781537,
                    0.03998611062782632,
                    -0.007769656924326184,
                    0.07407838180362808,
                    -0.056437525868287555,
                    0.02494683756613483,
                    -0.1056479781829556,
                    -0.024045575754112522,
                    0.04604286233727222,
                    -0.07143565764967082,
                    0.0801311775640899,
                ],
                [
                    0.04203769398868485,
                    -0.07491743698606827,
                    -0.0035929555119930106,
                    0.07909230335212064,
                    -0.05009801015659124,
                    0.032721626089698266,
                    -0.013992183639538504,
                    0.06841074946523462,
                    -0.05970841299605171,
                    0.023045502993237828,
                    0.09442511100278173,
                    -0.023100253115882548,
                    0.047915137578379736,
                    -0.06907798488169355,
                    0.08241166067943036,
                    -0.03477530809009889,
                    0.0350337563543643,
                    -0.08241326219400313,
                    -0.011456614318850488,
                    0.07194535519794765,
                    -0.057920824691853494,
                    0.02412249214934484,
                    -0.02474964529336854,
                    0.05702902946476706,
                    -0.07148063115552097,
                    0.011205219541986678,
                    0.082120079819614,
                    -0.03509403515751277,
                    0.03597795420668567,
                    -0.08100565783735116,
                    -0.009757521125262061,
                    -0.045503911369080545,
                    0.02570051576690489,
                    -0.09137480396761206,
                    -0.020350433717964966,
                    0.062467515287193805,
                ],
                [
                    -0.1291559280765548,
                    -0.046169932771437466,
                    -0.09033520932924578,
                    -0.19446536265710412,
                    -0.09767041979141665,
                    0.030759426541998217,
                    -0.051713185537837596,
                    0.07150105901153611,
                    -0.0296150443425262,
                    0.0799523511345946,
                    0.0471372238236901,
                    0.14276971262559504,
                    0.2175616469273392,
                    0.09420003466056774,
                    0.15861721099273493,
                    0.032669021740535174,
                    0.08404869197072609,
                    0.1352991189643185,
                    0.047421155738247955,
                    -0.10006081405141215,
                    -0.052514400249926804,
                    0.0009107620530759345,
                    -0.16443383608263415,
                    -0.10358792326426129,
                    -0.20423693876039822,
                    -0.12160993528989682,
                    -0.16739698396806807,
                    -0.07917251502344372,
                    0.004215228523521961,
                    -0.09201432038609174,
                    0.0059583530929899296,
                    -0.08327864847992603,
                    0.012702644822271928,
                    0.10249901500978337,
                    0.07610668694556812,
                    -0.0437890221478302,
                ],
                [
                    0.05851634049329727,
                    -0.0707922451514568,
                    0.011484587448124322,
                    0.08270874916422553,
                    -0.03343267387378942,
                    0.03919958330306847,
                    0.00625274490149667,
                    0.0786300852765027,
                    -0.037483626390072106,
                    0.03501532418614583,
                    -0.08089386318503873,
                    -0.008970320026107837,
                    0.07461338860332557,
                    -0.055245064775714336,
                    -0.09140155841907482,
                    -0.020611261034763427,
                    0.06084996104718135,
                    -0.07131640906850129,
                    0.007521023693211355,
                    0.0765149173117352,
                    -0.041253792048636974,
                    0.029296320135127465,
                    -0.007129970279072069,
                    0.06404443021585698,
                    -0.053063690641809214,
                    0.017768585214856216,
                    -0.09948807794693136,
                    -0.028361792558876338,
                    0.05492428877073529,
                    -0.07315945718195996,
                    0.09213022193309806,
                    -0.035517963959094026,
                    0.04850306711175667,
                    -0.07964692854476293,
                    0.0035659689664764025,
                    0.07492870062720491,
                ],
                [
                    0.25910849000043107,
                    0.16442476052207658,
                    0.3425398563532917,
                    0.22213987294435175,
                    0.2575742551322316,
                    0.4617824156578851,
                    0.38325596149129065,
                    0.4096832691686185,
                    0.16183739209902584,
                    0.2849145200081872,
                    0.008027323308869683,
                    0.024449652063594902,
                    -0.16273560054161457,
                    -0.06536080066181174,
                    0.03831375334728602,
                    -0.03380828836069518,
                    0.16140161885554144,
                    0.012993279193734112,
                    0.20479610654686753,
                    0.08126048409873479,
                    0.11027541427775081,
                    0.08758532916802043,
                    -0.04713797801534976,
                    -0.06664767335951617,
                    -0.11726539658565663,
                    -0.03151974644029916,
                    -0.07327769398395621,
                    0.01545655475227739,
                    -0.10729231470980721,
                    -0.01923386154472501,
                    0.0509600270960612,
                    -0.0681092515736518,
                    -0.0002093521405330716,
                    0.07915091668649891,
                    0.032055354488573926,
                    -0.08550978018492182,
                ],
                [
                    0.0851895319899794,
                    -0.03235084093261091,
                    0.03740569528792873,
                    -0.07998237774750536,
                    -0.010038965091262399,
                    -0.04473888441784101,
                    0.028088531807922448,
                    -0.08984660747032217,
                    -0.020018871735710115,
                    0.06201519497785816,
                    -0.06792052847830038,
                    0.014856666767885622,
                    0.08518368563121669,
                    0.04741743382121283,
                    -0.0805632295111363,
                    0.004682043697773248,
                    0.0785855602759886,
                    -0.04050416576363279,
                    0.02693406463991649,
                    -0.09134749284720835,
                    -0.019139908799163448,
                    -0.053899367276723224,
                    0.018425309465569983,
                    0.10268626554601884,
                    -0.026720061255514144,
                    0.055948510823526705,
                    -0.0732592646770792,
                    0.009302421173901239,
                    0.07998591155162307,
                    -0.03759142965132278,
                    -0.08577779243785977,
                    -0.00333653114088372,
                    0.06733416658881408,
                    -0.05011623079161865,
                    0.02065023030938508,
                    0.10324897447709477,
                ],
                [
                    -0.08413725055204326,
                    -0.15396216740689625,
                    -0.10756812865316576,
                    -0.21961091301761615,
                    -0.14141842907316982,
                    -0.27824678706531086,
                    -0.15444749910692243,
                    -0.10089030519934476,
                    -0.22291341363368627,
                    -0.16379971670843743,
                    -0.06025190267509628,
                    -0.01448809376299423,
                    -0.1512655210866217,
                    -0.06737653021369251,
                    0.01947595715649467,
                    -0.1389888226509614,
                    -0.11157630567008163,
                    -0.2237618945898364,
                    -0.20792428325808063,
                    -0.31338293739681783,
                    -0.20045429687640728,
                    -0.32975244504008167,
                    -0.19672912546874202,
                    -0.12723150444610665,
                    -0.08773590677409306,
                    0.060183189131549096,
                    -0.06242377456092391,
                    0.004146787661139656,
                    -0.11339062133462989,
                    -0.0297117481157335,
                    0.08173603533269029,
                    -0.008925279342445233,
                    0.11146442067289589,
                    0.010497122893617027,
                    0.1884546161373595,
                    0.07036881616520525,
                ],
                [
                    -0.08794671126056927,
                    -0.01822877184918527,
                    0.06563327649572347,
                    -0.06356908049809482,
                    0.017674894408748573,
                    -0.030632070903447533,
                    0.050552660981030235,
                    -0.07833882172421375,
                    0.004400737810713994,
                    0.07455394309447395,
                    -0.04492265485605106,
                    0.024799268493951053,
                    -0.09336263322078714,
                    0.0581438383285819,
                    -0.05955631447873377,
                    0.009688447168234414,
                    0.09217259907555002,
                    -0.03625413005948534,
                    0.047907869564321345,
                    -0.07989096233568113,
                    0.0034950360148738834,
                    -0.04443600274707291,
                    0.03983071685965722,
                    -0.08891451696303578,
                    -0.004234874818183626,
                    0.06662184846948141,
                    -0.050771432042662684,
                    0.019961652438439805,
                    0.10242069459356319,
                    0.05414632336742913,
                    -0.06346582263505528,
                    0.007134601532211097,
                    0.07779613560158732,
                    -0.03965481210531358,
                    0.031103276054626077,
                    -0.08629999964539241,
                ],
                [
                    0.004959829424277836,
                    -0.025235172817745566,
                    -0.19010571362889198,
                    -0.26580317254275476,
                    0.008526086372488325,
                    0.2703101548609642,
                    0.5053639347136455,
                    0.3195636145729526,
                    -0.18319149303020377,
                    -0.1925304411241372,
                    -0.32023572986132354,
                    -0.030002530836041142,
                    -0.30578874769433906,
                    -0.4040642041321075,
                    -0.6976440220988644,
                    -0.4307540845771102,
                    0.3872391947585906,
                    0.9997796248510125,
                    1.5602909203100184,
                    1.5785867065194188,
                    1.347234375134128,
                    0.9283182125155617,
                    0.3092015378773591,
                    -0.12135174442402752,
                    0.027952293814641725,
                    -0.0025654331148861564,
                    0.07798467034149136,
                    0.16896486346576653,
                    0.04435502774381749,
                    0.11748010342718736,
                    0.1562279314739145,
                    -0.004855341175607487,
                    0.020857185303748978,
                    -0.04949678841701212,
                    0.006530112820394217,
                    -0.12356370623865828,
                ],
                [
                    -0.08114099741181383,
                    0.002178760370427887,
                    0.07205027055804002,
                    -0.044198046781512075,
                    -0.09214836337032116,
                    -0.00834704860220536,
                    0.06393808190494273,
                    -0.05122651052016017,
                    0.020443120974358603,
                    0.10254384013719561,
                    -0.02523964042970854,
                    0.058225134799975195,
                    0.010412948424209771,
                    0.09263387657110257,
                    -0.03554367689366878,
                    0.04706309539827687,
                    -0.08242056524120943,
                    -0.013281805660559603,
                    0.066455636414754,
                    -0.06394869855531406,
                    0.019924765802435667,
                    -0.026364354026396107,
                    0.05670351028088719,
                    -0.07064874750901803,
                    0.010391161986406088,
                    0.08123103485594442,
                    -0.03613616850478143,
                    0.03472184341150963,
                    -0.0825354763316776,
                    0.06969800133252867,
                    -0.04733812918653088,
                    0.023824782726588643,
                    -0.09322689581523937,
                    -0.02216232861106662,
                    0.06061739706192339,
                    -0.06842609584118205,
                ],
                [
                    0.16964388030892985,
                    0.47078373522152367,
                    0.4092887995114583,
                    1.1138687383484913,
                    1.1856896434772064,
                    0.762803439050028,
                    0.8492979149892435,
                    0.9472143369050918,
                    1.5260987789743783,
                    1.374322548335793,
                    1.5849905241559668,
                    1.1402768057768993,
                    0.9471606716594203,
                    0.7644932158788965,
                    0.7475335876148441,
                    0.6104143353451237,
                    -0.420871353106609,
                    -1.7510540176222302,
                    -3.372109582435098,
                    -3.8490780349162743,
                    -3.2189626003382794,
                    -2.437636126949201,
                    -0.7856980688885008,
                    0.7081252208813689,
                    0.24300630653891808,
                    0.09977594679251003,
                    0.1613349503311008,
                    0.22558192582532927,
                    0.12866335588633238,
                    0.2470022238749686,
                    0.20503311576446764,
                    0.3506785877481854,
                    0.4956727172986915,
                    0.49694986570296595,
                    0.4007835978311995,
                    0.4950444462901251,
                ],
            ],
            biases: [
                1.3451093529887304,
                -0.08718074148740676,
                1.8509581032281168,
                -0.08098023096962255,
                0.078589753123599,
                0.5869466921503024,
                -0.0868165699561737,
                -0.0044716010716691285,
                -0.06736758050836229,
                0.21349831117315446,
                -0.03596141701373582,
                0.0240808381655193,
                -0.02195785735530314,
                1.4775622916471156,
                -0.008856945991732276,
                -1.3658654442253297,
                0.018112950019224368,
                -1.2788229155817705,
            ],
        },
        hidden_layers: [],
        output_layer: Layer {
            weights: [
                [
                    0.16729842982361773,
                    -0.043630999999999996,
                    0.2709650439625593,
                    -0.008880600000000006,
                    0.1927443967481676,
                    -0.22240075316163327,
                    0.015566400000000003,
                    0.056814357790502416,
                    -0.0308646,
                    -0.09677668407132144,
                    -0.08203948745365362,
                    0.08600517900899741,
                    -0.04255190169751491,
                    0.4404441857030738,
                    -0.0889764,
                    0.03913017703719239,
                    0.06440031660475143,
                    0.12408035668813798,
                ],
                [
                    0.1584905120444493,
                    0.052912,
                    0.3177568624260591,
                    0.006481000000000003,
                    0.10618389406689772,
                    -0.053461272235762504,
                    0.030928,
                    -0.08180318881650782,
                    -0.015503,
                    -0.04809056423863694,
                    0.01790859143360502,
                    0.06924653736016241,
                    -0.02715217839404925,
                    0.31916004556269867,
                    -0.07361480000000001,
                    0.044400229316746864,
                    0.07989337795993007,
                    0.11743476033238222,
                ],
                [
                    0.1872498080195624,
                    0.0682736,
                    0.37798800142652444,
                    0.0218426,
                    -0.0720770724333188,
                    -0.022422375730680174,
                    -0.0725292,
                    0.013710664574043034,
                    0.0810398,
                    -0.02932490212797867,
                    0.031093927385766048,
                    0.03933897281829267,
                    -0.011771780042419319,
                    0.18205198816331544,
                    -0.058253200000000005,
                    0.0551335084741529,
                    -0.023669399143487434,
                    0.16053798284744736,
                ],
                [
                    0.24522127105573266,
                    0.08363519999999999,
                    0.41110451246496,
                    0.0372042,
                    0.043616412981152805,
                    -0.16665785565211869,
                    -0.057167600000000006,
                    -0.034660434254757885,
                    0.0964014,
                    -0.0670174207863974,
                    0.0404546889420193,
                    0.009205349092090243,
                    0.08475543601004702,
                    0.07783473705974184,
                    0.0382898,
                    0.04297091556790119,
                    -0.007967360149018643,
                    0.2006006119076923,
                ],
                [
                    0.3491633648099239,
                    -0.019821999999999996,
                    0.45725938306481695,
                    -0.066253,
                    0.06638480585007278,
                    -0.26492650792863376,
                    -0.041805999999999996,
                    -0.07877833749061347,
                    -0.088237,
                    -0.06891862704353638,
                    -0.09049447479895871,
                    -0.01601781835528896,
                    -0.09990458472010647,
                    -0.1415045472515694,
                    0.053651399999999995,
                    0.0405230422806918,
                    0.007237700313900434,
                    0.25546329632422904,
                ],
                [
                    0.43259130832817594,
                    -0.004460399999999998,
                    0.5021217451400184,
                    -0.050891399999999996,
                    0.08194940367875757,
                    -0.26852974856550593,
                    -0.014631400000000006,
                    -0.15785910638793096,
                    0.00830599999999999,
                    -0.10738840274002602,
                    -0.041178670721306695,
                    -0.025572888528349564,
                    -0.08456859114737728,
                    -0.3175617297816052,
                    0.06901299999999999,
                    0.03369050674464516,
                    -0.09624841764490019,
                    0.2648446824334966,
                ],
                [
                    0.5007010903862757,
                    0.01090120000000001,
                    0.49089391107016306,
                    -0.0355298,
                    0.04585525449782387,
                    -0.3016353925018363,
                    0.0819116,
                    -0.1289594543002974,
                    0.02366760000000001,
                    -0.2452225246946642,
                    -0.0461845655910388,
                    -0.00978479896473687,
                    0.01190851943663475,
                    -0.4221962411382012,
                    -0.0344442,
                    0.010606063832308613,
                    -0.08086009438846155,
                    0.27517433368743766,
                ],
                [
                    0.48145892636951065,
                    0.02626280000000001,
                    0.4589127323546276,
                    0.06101319999999999,
                    0.005090853425703141,
                    -0.24389233216067693,
                    0.09727319999999999,
                    -0.09756740303331367,
                    0.03902920000000001,
                    -0.22619236528154962,
                    0.06056843570985236,
                    -0.021429845989025212,
                    0.027215176444787915,
                    -0.47390911114301343,
                    -0.019082600000000005,
                    -0.015602709900976754,
                    -0.06551870718959435,
                    0.26734318141927976,
                ],
                [
                    0.47655402490933974,
                    -0.0771942,
                    0.4893733416633027,
                    0.0763748,
                    -0.010729270635145376,
                    -0.24806788146327538,
                    -0.0873652,
                    -0.019798640321365482,
                    -0.064428,
                    -0.15773703265862618,
                    0.04694443623650616,
                    0.025861943609641683,
                    0.042618773630302295,
                    -0.45917279904983066,
                    -0.0037209999999999964,
                    -0.021632487463269314,
                    0.03112462885713944,
                    0.24772821833277647,
                ],
                [
                    0.46291137646144037,
                    -0.061832599999999995,
                    0.48805380210546523,
                    0.09173640000000001,
                    0.05298347527282705,
                    -0.23559255992890207,
                    0.009177600000000008,
                    0.03186808941720459,
                    -0.049066399999999996,
                    -0.11047881276138237,
                    -0.09191438671164844,
                    0.10798593689788903,
                    0.05792802746303706,
                    -0.42907004744808275,
                    0.092822,
                    -0.03241430353003368,
                    0.04634412231855275,
                    0.2108513050198904,
                ],
                [
                    0.45215585673235964,
                    -0.046471,
                    0.4665104915084264,
                    -0.011720799999999998,
                    0.1295008393159532,
                    -0.2246898910750331,
                    0.024539200000000004,
                    0.0501873596491739,
                    -0.0337048,
                    -0.12673570622476846,
                    0.039282670801088444,
                    0.23844852125909688,
                    -0.045490020703658436,
                    -0.3527750776253461,
                    -0.09181639999999999,
                    -0.06626038412737051,
                    0.061713635320939875,
                    0.16085476885835184,
                ],
                [
                    0.4539001163396396,
                    0.0500718,
                    0.44093826637919026,
                    0.0036407999999999996,
                    0.3140285669687135,
                    -0.193149618429642,
                    0.0399008,
                    -0.10432570348187022,
                    0.0628382,
                    -0.20723947284909738,
                    0.017161109396115412,
                    0.29919397053269664,
                    -0.030161504147447955,
                    -0.32264562058453755,
                    -0.0764548,
                    -0.09024773417241475,
                    -0.04168283557372669,
                    0.12676613159850222,
                ],
            ],
            biases: [
                -0.230969762368169,
                -0.11083749339594062,
                -0.0465898623231063,
                0.046994203678145,
                0.08734750914210687,
                0.13788306071433554,
                0.1597480972934681,
                0.26516346413625547,
                0.23241874602484291,
                0.15933127809851402,
                0.045680180101710176,
                0.02791392232807321,
            ],
        },
    }
}

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.5143699306073444 0.491044836...
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.7205406537902945 2.696946375...
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.830148845637268 9.7806214109...
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.459690533237072 17.45351931...
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.193119494045149 -4.21924418...
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.574121311443257 12.55579785...
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.6198477388538919 -1.6242870...
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.851172973357414 14.82145346...
Truncated