From 79ff52c24c40d7df5ce764244c8dccc2a3a3544c Mon Sep 17 00:00:00 2001 From: art Date: Tue, 5 Jun 2018 21:46:29 +0300 Subject: [PATCH 1/8] Added evolutionary optimizer (WIP) --- spec/linear_data/.~lock.data.csv# | 1 - spec/network_spec.cr | 497 ++++++++++++++++-------------- src/shainet/basic/es.cr | 105 +++++++ src/shainet/basic/network.cr | 148 ++++++--- 4 files changed, 487 insertions(+), 264 deletions(-) delete mode 100644 spec/linear_data/.~lock.data.csv# create mode 100644 src/shainet/basic/es.cr diff --git a/spec/linear_data/.~lock.data.csv# b/spec/linear_data/.~lock.data.csv# deleted file mode 100644 index f87136c..0000000 --- a/spec/linear_data/.~lock.data.csv# +++ /dev/null @@ -1 +0,0 @@ -,art,art-ThinkPad-P51s-W10DG,21.05.2018 13:30,file:///home/art/.config/libreoffice/4; \ No newline at end of file diff --git a/spec/network_spec.cr b/spec/network_spec.cr index 7b07150..2a6a1ab 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -5,263 +5,263 @@ require "csv" system("cd #{__DIR__}/test_data && tar xvf tests.tar.xz") describe SHAInet::Network do - it "Test on a linear regression model" do - # data structures to hold the input and results - inputs = Array(Array(Float64)).new - outputs = Array(Array(Float64)).new + # it "Test on a linear regression model" do + # # data structures to hold the input and results + # inputs = Array(Array(Float64)).new + # outputs = Array(Array(Float64)).new - # read the file - raw = File.read("./spec/linear_data/data.csv") - csv = CSV.new(raw, headers: true) + # # read the file + # raw = File.read("./spec/linear_data/data.csv") + # csv = CSV.new(raw, headers: true) - # load the data structures - while (csv.next) - inputs << [csv.row["Height"].to_f64] - outputs << [csv.row["Weight"].to_f64] - end + # # load the data structures + # while (csv.next) + # inputs << [csv.row["Height"].to_f64] + # outputs << [csv.row["Weight"].to_f64] + # end - # normalize the data - training = SHAInet::TrainingData.new(inputs, outputs) + # # normalize the data + # training = SHAInet::TrainingData.new(inputs, outputs) - # create a network - model = SHAInet::Network.new - model.add_layer(:input, 1, :memory, SHAInet.none) - # model.add_layer(:hidden, 1, :memory, SHAInet.none) - model.add_layer(:output, 1, :memory, SHAInet.none) - model.fully_connect + # # create a network + # model = SHAInet::Network.new + # model.add_layer(:input, 1, :memory, SHAInet.none) + # # model.add_layer(:hidden, 1, :memory, SHAInet.none) + # model.add_layer(:output, 1, :memory, SHAInet.none) + # model.fully_connect - # Update learing rate (default is 0.005) - model.learning_rate = 0.01 + # # Update learing rate (default is 0.005) + # model.learning_rate = 0.01 - # train the network using Stochastic Gradient Descent with momentum - model.train(training.raw_data, :sgdm, :mse, 5000, 0.0, 100) + # # train the network using Stochastic Gradient Descent with momentum + # model.train(training.raw_data, :adam, :mse, 5000, 0.0, 1) - # model.show + # # model.show - # Test model - output = model.run([1.47]).first - error = ((output - 51.008)/51.008).abs - (error < 0.05).should eq(true) # require less than 5% error + # # Test model + # output = model.run([1.47]).first + # error = ((output - 51.008)/51.008).abs + # (error < 0.05).should eq(true) # require less than 5% error - output = model.run([1.83]).first - error = ((output - 73.066)/73.066).abs - (error < 0.05).should eq(true) # require less than 5% error - end + # output = model.run([1.83]).first + # error = ((output - 73.066)/73.066).abs + # (error < 0.05).should eq(true) # require less than 5% error + # end - it "Initialize" do - nn = SHAInet::Network.new - nn.should be_a(SHAInet::Network) - end + # it "Initialize" do + # nn = SHAInet::Network.new + # nn.should be_a(SHAInet::Network) + # end - it "saves_to_file" do - nn = SHAInet::Network.new - nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) - nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) - nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) - nn.fully_connect - nn.save_to_file("./my_net.nn") - File.exists?("./my_net.nn").should eq(true) - end + # it "saves_to_file" do + # nn = SHAInet::Network.new + # nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) + # nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) + # nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) + # nn.fully_connect + # nn.save_to_file("./my_net.nn") + # File.exists?("./my_net.nn").should eq(true) + # end - it "loads_from_file" do - nn = SHAInet::Network.new - nn.load_from_file("./my_net.nn") - (nn.all_neurons.size > 0).should eq(true) - end + # it "loads_from_file" do + # nn = SHAInet::Network.new + # nn.load_from_file("./my_net.nn") + # (nn.all_neurons.size > 0).should eq(true) + # end - it "Figure out XOR with SGD + M" do - puts "---" - puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" - training_data = [ - [[0, 0], [0]], - [[1, 0], [1]], - [[0, 1], [1]], - [[1, 1], [0]], - ] - - xor = SHAInet::Network.new - - xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) - 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } - xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) - xor.fully_connect - - xor.learning_rate = 0.7 - xor.momentum = 0.3 - - xor.train( - data: training_data, - training_type: :sgdm, - cost_function: :mse, - epochs: 5000, - error_threshold: 0.000001, - log_each: 1000) - - (xor.run([0, 0]).first < 0.1).should eq(true) - (xor.run([1, 0]).first > 0.9).should eq(true) - (xor.run([0, 1]).first > 0.9).should eq(true) - (xor.run([1, 1]).first < 0.1).should eq(true) - end + # it "Figure out XOR with SGD + M" do + # puts "---" + # puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" + # training_data = [ + # [[0, 0], [0]], + # [[1, 0], [1]], + # [[0, 1], [1]], + # [[1, 1], [0]], + # ] + + # xor = SHAInet::Network.new + + # xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) + # 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } + # xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) + # xor.fully_connect + + # xor.learning_rate = 0.7 + # xor.momentum = 0.3 + + # xor.train( + # data: training_data, + # training_type: :sgdm, + # cost_function: :mse, + # epochs: 5000, + # error_threshold: 0.000001, + # log_each: 1000) - it "Supports both Symbols or Strings as input params" do - puts "---" - puts "Supports both Symbols or Strings as input params (sgdm, train, mse, sigmoid)" - training_data = [ - [[0, 0], [0]], - [[1, 0], [1]], - [[0, 1], [1]], - [[1, 1], [0]], - ] - - xor = SHAInet::Network.new - xor.add_layer("input", 2, "memory", SHAInet.sigmoid) - 1.times { |x| xor.add_layer("hidden", 3, "memory", SHAInet.sigmoid) } - xor.add_layer("output", 1, "memory", SHAInet.sigmoid) - xor.fully_connect - - xor.learning_rate = 0.7 - xor.momentum = 0.3 - - xor.train( - data: training_data, - training_type: "sgdm", - cost_function: "mse", - epochs: 5000, - error_threshold: 0.000001, - log_each: 1000) - - (xor.run([0, 0]).first < 0.1).should eq(true) - (xor.run([1, 0]).first > 0.9).should eq(true) - (xor.run([0, 1]).first > 0.9).should eq(true) - (xor.run([1, 1]).first < 0.1).should eq(true) - end + # (xor.run([0, 0]).first < 0.1).should eq(true) + # (xor.run([1, 0]).first > 0.9).should eq(true) + # (xor.run([0, 1]).first > 0.9).should eq(true) + # (xor.run([1, 1]).first < 0.1).should eq(true) + # end - it "works on iris dataset with batch train with Rprop (batch)" do - puts "---" - puts "works on iris dataset with Rprop (batch_train, mse, sigmoid)" - label = { - "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - } - iris = SHAInet::Network.new - iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - iris.fully_connect + # it "Supports both Symbols or Strings as input params" do + # puts "---" + # puts "Supports both Symbols or Strings as input params (sgdm, train, mse, sigmoid)" + # training_data = [ + # [[0, 0], [0]], + # [[1, 0], [1]], + # [[0, 1], [1]], + # [[1, 1], [0]], + # ] + + # xor = SHAInet::Network.new + # xor.add_layer("input", 2, "memory", SHAInet.sigmoid) + # 1.times { |x| xor.add_layer("hidden", 3, "memory", SHAInet.sigmoid) } + # xor.add_layer("output", 1, "memory", SHAInet.sigmoid) + # xor.fully_connect + + # xor.learning_rate = 0.7 + # xor.momentum = 0.3 + + # xor.train( + # data: training_data, + # training_type: "sgdm", + # cost_function: "mse", + # epochs: 5000, + # error_threshold: 0.000001, + # log_each: 1000) - iris.learning_rate = 0.7 - iris.momentum = 0.3 + # (xor.run([0, 0]).first < 0.1).should eq(true) + # (xor.run([1, 0]).first > 0.9).should eq(true) + # (xor.run([0, 1]).first > 0.9).should eq(true) + # (xor.run([1, 1]).first < 0.1).should eq(true) + # end - outputs = Array(Array(Float64)).new - inputs = Array(Array(Float64)).new - CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - row_arr = Array(Float64).new - row[0..-2].each do |num| - row_arr << num.to_f64 - end - inputs << row_arr - outputs << label[row[-1]] - end - normalized = SHAInet::TrainingData.new(inputs, outputs) - normalized.normalize_min_max + # it "works on iris dataset with batch train with Rprop (batch)" do + # puts "---" + # puts "works on iris dataset with Rprop (batch_train, mse, sigmoid)" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect - iris.train_batch( - data: normalized.data.shuffle, - training_type: :rprop, - cost_function: :mse, - epochs: 5000, - error_threshold: 0.000001, - log_each: 1000) + # iris.learning_rate = 0.7 + # iris.momentum = 0.3 - result = iris.run(normalized.normalized_inputs.first) - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) - end + # outputs = Array(Array(Float64)).new + # inputs = Array(Array(Float64)).new + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + # row_arr = Array(Float64).new + # row[0..-2].each do |num| + # row_arr << num.to_f64 + # end + # inputs << row_arr + # outputs << label[row[-1]] + # end + # normalized = SHAInet::TrainingData.new(inputs, outputs) + # normalized.normalize_min_max - it "works on iris dataset with batch train with Adam (batch)" do - puts "---" - puts "works on iris dataset with Adam (batch_train, mse, sigmoid)" - label = { - "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - } - iris = SHAInet::Network.new - iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - iris.fully_connect + # iris.train_batch( + # data: normalized.data.shuffle, + # training_type: :rprop, + # cost_function: :mse, + # epochs: 5000, + # error_threshold: 0.000001, + # log_each: 1000) - iris.learning_rate = 0.7 - iris.momentum = 0.3 + # result = iris.run(normalized.normalized_inputs.first) + # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) + # end - outputs = Array(Array(Float64)).new - inputs = Array(Array(Float64)).new - CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - row_arr = Array(Float64).new - row[0..-2].each do |num| - row_arr << num.to_f64 - end - inputs << row_arr - outputs << label[row[-1]] - end - normalized = SHAInet::TrainingData.new(inputs, outputs) - normalized.normalize_min_max + # it "works on iris dataset with batch train with Adam (batch)" do + # puts "---" + # puts "works on iris dataset with Adam (batch_train, mse, sigmoid)" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect - iris.train_batch( - data: normalized.data.shuffle, - training_type: :adam, - cost_function: :mse, - epochs: 20000, - error_threshold: 0.000001, - log_each: 1000) + # iris.learning_rate = 0.7 + # iris.momentum = 0.3 - result = iris.run(normalized.normalized_inputs.first) - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - end + # outputs = Array(Array(Float64)).new + # inputs = Array(Array(Float64)).new + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + # row_arr = Array(Float64).new + # row[0..-2].each do |num| + # row_arr << num.to_f64 + # end + # inputs << row_arr + # outputs << label[row[-1]] + # end + # normalized = SHAInet::TrainingData.new(inputs, outputs) + # normalized.normalize_min_max - it "works on iris dataset with mini-batch train with Adam (mini-batch)" do - puts "---" - puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" - label = { - "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - } - iris = SHAInet::Network.new - iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - iris.fully_connect + # iris.train_batch( + # data: normalized.data.shuffle, + # training_type: :adam, + # cost_function: :mse, + # epochs: 20000, + # error_threshold: 0.000001, + # log_each: 1000) - iris.learning_rate = 0.7 - iris.momentum = 0.3 + # result = iris.run(normalized.normalized_inputs.first) + # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) + # end - outputs = Array(Array(Float64)).new - inputs = Array(Array(Float64)).new - CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - row_arr = Array(Float64).new - row[0..-2].each do |num| - row_arr << num.to_f64 - end - inputs << row_arr - outputs << label[row[-1]] - end - normalized = SHAInet::TrainingData.new(inputs, outputs) - normalized.normalize_min_max + # it "works on iris dataset with mini-batch train with Adam (mini-batch)" do + # puts "---" + # puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect - iris.train_batch( - data: normalized.data.shuffle, - training_type: :adam, - cost_function: :mse, - epochs: 5000, - error_threshold: 0.000001, - mini_batch_size: 50, - log_each: 1000) + # iris.learning_rate = 0.7 + # iris.momentum = 0.3 - result = iris.run(normalized.normalized_inputs.first) - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - end + # outputs = Array(Array(Float64)).new + # inputs = Array(Array(Float64)).new + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + # row_arr = Array(Float64).new + # row[0..-2].each do |num| + # row_arr << num.to_f64 + # end + # inputs << row_arr + # outputs << label[row[-1]] + # end + # normalized = SHAInet::TrainingData.new(inputs, outputs) + # normalized.normalize_min_max + + # iris.train_batch( + # data: normalized.data.shuffle, + # training_type: :adam, + # cost_function: :mse, + # epochs: 5000, + # error_threshold: 0.000001, + # mini_batch_size: 50, + # log_each: 1000) + + # result = iris.run(normalized.normalized_inputs.first) + # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) + # end # it "trains , saves, loads, runs" do # puts "---" @@ -309,6 +309,46 @@ describe SHAInet::Network do # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end + it "works on iris dataset using evolutionary strategies as optimizer" do + puts "---" + puts "works on iris dataset using evolutionary strategies as optimizer" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end + normalized = SHAInet::TrainingData.new(inputs, outputs) + normalized.normalize_min_max + + iris.train_es( + data: normalized.data.shuffle, + pool_size: 1000, + cost_function: :mse, + epochs: 10, + mini_batch_size: 10, + error_threshold: 0.0, + log_each: 1) + + result = iris.run(normalized.normalized_inputs.first) + ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) + end + # it "works on the mnist dataset using adam and batch" do # mnist = SHAInet::Network.new # mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) @@ -378,6 +418,7 @@ describe SHAInet::Network do # end # puts "We managed #{results.sum} out of #{results.size} total" # end + end # Remove train data system("cd #{__DIR__}/test_data && rm *.csv") diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr new file mode 100644 index 0000000..e552800 --- /dev/null +++ b/src/shainet/basic/es.cr @@ -0,0 +1,105 @@ +module SHAInet + class Pool + property mvp : Organism + + @organisms : Array(Organism) + + def initialize(@network : Network, @pool_size : Int32) + # Store previous data to avoid moving towards worse network states + @original_biases = Array(Float64).new + @original_weights = Array(Float64).new + @organisms = Array(Organism).new(@pool_size) { Organism.new(pool: self) } + @mvp = @organisms.sample + end + + def save_nn_params + @network.all_neurons.each { |neuron| @original_biases << neuron.bias } + @network.all_synapses.each { |synapse| @original_weights << synapse.weight } + end + + def restore_nn_params + @network.all_neurons.each_with_index { |neuron, i| neuron.bias = @original_biases[i] } + @network.all_synapses.each_with_index { |synapse, i| synapse.weight = @original_weights[i] } + end + + def reset + @organisms = Array(Organism).new(@pool_size) { Organism.new(pool: self) } + end + + def natural_select(error_threshold : Float64) + @organisms.each do |organism| + if organism.mse > error_threshold + organism.reset + end + end + end + end + + class Organism + property mse : Float64 + + @pool : Pool + @learning_rate : Float64 + @mutation_chance : Float64 + + def initialize(@pool : Pool) + @learning_rate = rand(0.0..1.0) + @mutation_chance = rand(0.0..1.0) + @mse = 100000.0 + @biases = @pool.original_biases.clone + @weights = @pool.original_weights.clone + end + + def reset + @learning_rate = rand(0.0..1.0) + @mutation_chance = rand(0.0..1.0) + @mse = 100000.0 + @biases = @pool.original_biases.clone + @weights = @pool.original_weights.clone + end + + def get_new_params + # Update biases + @pool.network.all_neurons.each_with_index do |neuron, i| + # Only change value if mutation is triggered + # This alows for some of the values to remain between epochs + if rand(0.0..1.0) < @mutation_chance + # Update networks biases using the organisms specific parameters + threshold = (@learning_rate*@pool.original_biases[i]).abs + + change = rand(-threshold..threshold) + new_value = @pool.original_biases[i] + change + neuron.bias = new_value + @biases[i] = new_value + end + end + + # Update weights + @pool.network.all_synapses.each_with_index do |synapse, i| + # Only change value if mutation is triggered + # This alows for some of the values to remain between epochs + if rand(0.0..1.0) < @mutation_chance + # Update networks biases using the organisms specific parameters + threshold = (@learning_rate*@pool.original_weights[i]).abs + + change = rand(-threshold..threshold) + new_value = @pool.original_weights + change + synapse.weight = new_value + @weights[i] = new_value + end + end + end + + def pull_params + # Update biases + @pool.network.all_neurons.each_with_index do |neuron, i| + neuron.bias = @biases[i].clone + end + + # Update weights + @pool.network.all_synapses.each_with_index do |synapse, i| + synapse.weight = @weights[i].clone + end + end + end +end diff --git a/src/shainet/basic/network.cr b/src/shainet/basic/network.cr index 2dd094f..a70465d 100644 --- a/src/shainet/basic/network.cr +++ b/src/shainet/basic/network.cr @@ -14,14 +14,14 @@ module SHAInet # General network parameters getter :input_layers, :output_layers, :hidden_layers, :all_neurons, :all_synapses - getter error_signal : Array(Float64), total_error : Float64, :mean_error, w_gradient : Array(Float64), b_gradient : Array(Float64) + getter error_signal : Array(Float64), total_error : Float64, :mse, w_gradient : Array(Float64), b_gradient : Array(Float64) # Parameters for SGD + Momentum property learning_rate : Float64, momentum : Float64 # Parameters for Rprop property etah_plus : Float64, etah_minus : Float64, delta_max : Float64, delta_min : Float64 - getter prev_mean_error : Float64 + getter prev_mse : Float64 # Parameters for Adam property alpha : Float64 @@ -36,18 +36,18 @@ module SHAInet @all_synapses = Array(Synapse).new # Array of all current synapses in the network @error_signal = Array(Float64).new # Array of errors for each neuron in the output layers, based on specific input @total_error = Float64.new(1) # Sum of errors from output layer, based on a specific input - @mean_error = Float64.new(1) # MSE of netwrok, based on all errors of output layer for a specific input or batch + @mse = Float64.new(1) # MSE of netwrok, based on all errors of output layer for a specific input or batch @w_gradient = Array(Float64).new # Needed for batch train @b_gradient = Array(Float64).new # Needed for batch train @learning_rate = 0.005 # Standard parameter for GD @momentum = 0.05 # Improved GD - @etah_plus = 1.2 # For iRprop+ , how to increase step size - @etah_minus = 0.5 # For iRprop+ , how to decrease step size - @delta_max = 50.0 # For iRprop+ , max step size - @delta_min = 0.1 # For iRprop+ , min step size - @prev_mean_error = rand(0.001..1.0).to_f64 # For iRprop+ , needed for backtracking + @etah_plus = 1.2 # For iRprop+ , how to increase step size + @etah_minus = 0.5 # For iRprop+ , how to decrease step size + @delta_max = 50.0 # For iRprop+ , max step size + @delta_min = 0.1 # For iRprop+ , min step size + @prev_mse = rand(0.001..1.0).to_f64 # For iRprop+ , needed for backtracking @alpha = 0.001 # For Adam , step size (recomeneded: only change this hyper parameter when fine-tuning) @beta1 = 0.9 # For Adam , exponential decay rate (not recommended to change value) @@ -256,6 +256,18 @@ module SHAInet raise NeuralNetRunError.new("Error in evaluate: #{e}") end + # Calculate MSE from the error signal of the output layer + def update_mse + if @error_signal.size == 1 + error_avg = 0.0 + else + error_avg = @total_error/@output_layers.last.neurons.size + end + sqrd_dists = 0.0 + @error_signal.each { |e| sqrd_dists += (e - error_avg)**2 } + @mse = sqrd_dists/@output_layers.last.neurons.size + end + def verify_data(data : Array(Array(Array(GenNum)))) message = nil if data.sample.size != 2 @@ -281,7 +293,7 @@ module SHAInet end def log_summary(e) - @logger.info("Epoch: #{e}, Total error: #{@total_error}, MSE: #{@mean_error}") + @logger.info("Epoch: #{e}, Total error: #{@total_error}, MSE: #{@mse}") end # Online train, updates weights/biases after each data point (stochastic gradient descent) @@ -298,12 +310,12 @@ module SHAInet if e % log_each == 0 log_summary(e) end - if e >= epochs || (error_threshold >= @mean_error) && (e > 0) + if e >= epochs || (error_threshold >= @mse) && (e > 0) log_summary(e) break end - # Change String/Symbol into the corrent proc + # Change String/Symbol into the corrent proc of the cost function if cost_function.is_a?(Symbol) || cost_function.is_a?(String) raise NeuralNetRunError.new("Must define correct cost function type (:mse, :c_ent, :exp, :hel_d, :kld, :gkld, :ita_sai_d).") if COST_FUNCTIONS.any? { |x| x == cost_function.to_s } == false proc = get_cost_proc(cost_function.to_s) @@ -313,35 +325,23 @@ module SHAInet # Go over each data point and update the weights/biases based on the specific example data.each do |data_point| # Update error signal, error gradient and total error at the output layer based on current input - # puts "Data-point: #{data_point} [[input], [expected]]" evaluate(data_point[0], data_point[1], cost_function) + update_mse - # Propogate the errors backwards through the hidden layers + # Propogate the errors backwards @hidden_layers.reverse_each do |l| l.neurons.each { |neuron| neuron.hidden_error_prop } # Update neuron error based on errors*weights of neurons from the next layer end - # Propogate the errors backwards through the input layers @input_layers.reverse_each do |l| l.neurons.each { |neuron| neuron.hidden_error_prop } # Update neuron error based on errors*weights of neurons from the next layer end - # Calculate MSE - if @error_signal.size == 1 - error_avg = 0.0 - else - error_avg = @total_error/@output_layers.last.neurons.size - end - sqrd_dists = [] of Float64 - @error_signal.each { |e| sqrd_dists << (e - error_avg)**2 } - sqr_sum = sqrd_dists.reduce { |acc, i| acc + i } - @mean_error = sqr_sum/@output_layers.last.neurons.size - # Update all wieghts & biases update_weights(training_type, batch = false) update_biases(training_type, batch = false) - @prev_mean_error = @mean_error + @prev_mse = @mse.clone end end rescue e : Exception @@ -364,7 +364,7 @@ module SHAInet batch_size = mini_batch_size ? mini_batch_size : raw_data.size @time_step = 0 - # Change String/Symbol into the corrent proc + # Change String/Symbol into the corrent proc of the cost function if cost_function.is_a?(Symbol) || cost_function.is_a?(String) raise NeuralNetRunError.new("Must define correct cost function type (:mse, :c_ent, :exp, :hel_d, :kld, :gkld, :ita_sai_d).") if COST_FUNCTIONS.any? { |x| x == cost_function.to_s } == false proc = get_cost_proc(cost_function.to_s) @@ -380,7 +380,7 @@ module SHAInet log_summary(e) # @all_neurons.each { |s| puts s.gradient } end - if e >= epochs || (error_threshold >= @mean_error) && (e > 1) + if e >= epochs || (error_threshold >= @mse) && (e > 1) log_summary(e) break end @@ -418,8 +418,8 @@ module SHAInet sqrd_dists = [] of Float64 @error_signal.each { |e| sqrd_dists << (e - error_avg)**2 } - @mean_error = (sqrd_dists.reduce { |acc, i| acc + i })/@output_layers.last.neurons.size - batch_mean << @mean_error + @mse = (sqrd_dists.reduce { |acc, i| acc + i })/@output_layers.last.neurons.size + batch_mean << @mse end # Total error per batch @@ -427,14 +427,14 @@ module SHAInet # Calculate MSE per batch batch_mean = (batch_mean.reduce { |acc, i| acc + i })/data_slice.size - @mean_error = batch_mean + @mse = batch_mean # Update all wieghts & biases for the batch @time_step += 1 unless mini_batch_size # Based on how many epochs have passed in current training run, needed for Adam update_weights(training_type, batch = true) update_biases(training_type, batch = true) - @prev_mean_error = @mean_error + @prev_mse = @mse.clone end end end @@ -469,7 +469,7 @@ module SHAInet elsif synapse.prev_gradient*synapse.gradient < 0.0 delta = [@etah_minus*synapse.prev_delta, @delta_min].max - synapse.weight -= synapse.prev_delta_w if @mean_error >= @prev_mean_error + synapse.weight -= synapse.prev_delta_w if @mse >= @prev_mse synapse.prev_gradient = 0.0 synapse.prev_delta = delta @@ -522,7 +522,7 @@ module SHAInet elsif neuron.prev_gradient*neuron.gradient < 0.0 delta = [@etah_minus*neuron.prev_delta, @delta_min].max - neuron.bias -= neuron.prev_delta_b if @mean_error >= @prev_mean_error + neuron.bias -= neuron.prev_delta_b if @mse >= @prev_mse neuron.prev_gradient = 0.0 neuron.prev_delta = delta @@ -548,13 +548,91 @@ module SHAInet end end + # Use evolutionary strategies for network optimization instread of gradient based approach + def train_es(data : Array(Array(Array(GenNum))) | SHAInet::TrainingData, # Input structure: data = [[Input = [] of Float64],[Expected result = [] of Float64]] + pool_size : Int32, # Pool size for the organisms + cost_function : Symbol | String | CostFunction = :mse, # Proc returns the function value and it's derivative + epochs : Int32 = 1, # a criteria of when to stop the training + mini_batch_size : Int32 = 1, # Size of batch + error_threshold : Float64 = 0.0, # a criteria of when to stop the training + log_each : Int32 = 1) # determines what is the step for error printout + # This methods accepts data as either a SHAInet::TrainingData object, or as an Array(Array(Array(GenNum)). + # In the case of SHAInet::TrainingData, we convert it to an Array(Array(Array(GenNum)) by calling #data on it. + raw_data = data.is_a?(SHAInet::TrainingData) ? data.data : data + @logger.info("Training started") + batch_size = mini_batch_size ? mini_batch_size : raw_data.size + + # Change String/Symbol into the corrent proc of the cost function + if cost_function.is_a?(Symbol) || cost_function.is_a?(String) + raise NeuralNetRunError.new("Must define correct cost function type (:mse, :c_ent, :exp, :hel_d, :kld, :gkld, :ita_sai_d).") if COST_FUNCTIONS.any? { |x| x == cost_function.to_s } == false + proc = get_cost_proc(cost_function.to_s) + cost_function = proc + end + + # Create a pool for the training + pool = Pool.new(network: self, pool_size: pool_size) + + loop do |e| + if e % log_each == 0 + log_summary(e) + # @all_neurons.each { |s| puts s.gradient } + end + if e >= epochs || (error_threshold >= @mse) && (e > 1) + log_summary(e) + break + end + + raw_data.each_slice(batch_size, reuse = false) do |data_slice| + verify_data(data_slice) + pool.save_nn_params + # @logger.info("Working on mini-batch size: #{batch_size}") if mini_batch_size + + lowest_mse = 100000.0 + # Update wieghts & biases for the batch + pool.organisms.each do |organism| + organism.get_new_params # Get new weights & biases + + # Go over each data points and collect mse + # based on each specific example in the batch + batch_mean = 0.0 + data_slice.each do |data_point| + evaluate(data_point[0], data_point[1], cost_function) # Update error signal in output layer + update_mse + batch_mean += @mse + end + batch_mean /= mini_batch_size # Update MSE of the batch + + organism.mse = batch_mean + if batch_mean < pool.mvp.mse + pool.mvp = organism + lowest_mse = batch_mean + end + end + + if pool.mvp.mse < @prev_mse + # Update pool for the next batch + @mse = pool.mvp.mse + pool.natural_select(@mse) + + # Get the best parameters from the pool + pool.mvp.pull_params + @prev_mse = @mse.clone + else + # Try new pool on next batch + pool.reset + pool.restore_nn_params + end + end + end + end + def randomize_all_weights raise NeuralNetRunError.new("Cannot randomize weights without synapses") if @all_synapses.empty? @all_synapses.each &.randomize_weight end def randomize_all_biases - raise NeuralNetRunError.new("Cannot randomize biases without synapses") if @all_synapses.empty? + raise NeuralNetRunError.new("Cannot randomize biases without neurons") if @all_synapses.empty? @all_neurons.each &.randomize_bias end From 2775ee8292775df7c85273746fd0bfd21c374ab3 Mon Sep 17 00:00:00 2001 From: Bar Hofesh Date: Tue, 5 Jun 2018 23:26:11 +0300 Subject: [PATCH 2/8] made the code work --- spec/network_spec.cr | 2 +- src/shainet/basic/es.cr | 51 ++++++++++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/spec/network_spec.cr b/spec/network_spec.cr index 2a6a1ab..6e8de79 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -340,7 +340,7 @@ describe SHAInet::Network do data: normalized.data.shuffle, pool_size: 1000, cost_function: :mse, - epochs: 10, + epochs: 100, mini_batch_size: 10, error_threshold: 0.0, log_each: 1) diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr index e552800..fcb03f7 100644 --- a/src/shainet/basic/es.cr +++ b/src/shainet/basic/es.cr @@ -1,15 +1,21 @@ module SHAInet class Pool - property mvp : Organism + property :mvp + getter :organisms @organisms : Array(Organism) + @mvp : Organism def initialize(@network : Network, @pool_size : Int32) # Store previous data to avoid moving towards worse network states @original_biases = Array(Float64).new @original_weights = Array(Float64).new - @organisms = Array(Organism).new(@pool_size) { Organism.new(pool: self) } - @mvp = @organisms.sample + @organisms = Array(Organism).new + save_nn_params + @pool_size.times do + @organisms << Organism.new(@network, @original_biases, @original_weights) + end + @mvp = @organisms.sample.as(Organism) end def save_nn_params @@ -23,7 +29,10 @@ module SHAInet end def reset - @organisms = Array(Organism).new(@pool_size) { Organism.new(pool: self) } + @organisms = Array(Organism).new + @pool_size.times do + @organisms << Organism.new(@network, @original_biases, @original_weights) + end end def natural_select(error_threshold : Float64) @@ -38,52 +47,58 @@ module SHAInet class Organism property mse : Float64 - @pool : Pool + @network : Network @learning_rate : Float64 @mutation_chance : Float64 + @biases : Array(Float64) + @weights : Array(Float64) - def initialize(@pool : Pool) + def initialize(@network : Network, original_biases : Array(Float64), original_weights : Array(Float64)) @learning_rate = rand(0.0..1.0) @mutation_chance = rand(0.0..1.0) @mse = 100000.0 - @biases = @pool.original_biases.clone - @weights = @pool.original_weights.clone + + @original_biases = original_biases + @original_weights = original_weights + @biases = original_biases.clone + @weights = original_weights.clone end def reset @learning_rate = rand(0.0..1.0) @mutation_chance = rand(0.0..1.0) @mse = 100000.0 - @biases = @pool.original_biases.clone - @weights = @pool.original_weights.clone + @biases = @original_biases.clone + @weights = @original_weights.clone end def get_new_params # Update biases - @pool.network.all_neurons.each_with_index do |neuron, i| + @network.all_neurons.each_with_index do |neuron, i| # Only change value if mutation is triggered # This alows for some of the values to remain between epochs if rand(0.0..1.0) < @mutation_chance # Update networks biases using the organisms specific parameters - threshold = (@learning_rate*@pool.original_biases[i]).abs + threshold = (@learning_rate*@original_biases[i]).abs change = rand(-threshold..threshold) - new_value = @pool.original_biases[i] + change + new_value = @original_biases[i] + change neuron.bias = new_value + @biases[i] = new_value end end # Update weights - @pool.network.all_synapses.each_with_index do |synapse, i| + @network.all_synapses.each_with_index do |synapse, i| # Only change value if mutation is triggered # This alows for some of the values to remain between epochs if rand(0.0..1.0) < @mutation_chance # Update networks biases using the organisms specific parameters - threshold = (@learning_rate*@pool.original_weights[i]).abs + threshold = (@learning_rate*@original_weights[i]).abs change = rand(-threshold..threshold) - new_value = @pool.original_weights + change + new_value = @original_weights[i] + change synapse.weight = new_value @weights[i] = new_value end @@ -92,12 +107,12 @@ module SHAInet def pull_params # Update biases - @pool.network.all_neurons.each_with_index do |neuron, i| + @network.all_neurons.each_with_index do |neuron, i| neuron.bias = @biases[i].clone end # Update weights - @pool.network.all_synapses.each_with_index do |synapse, i| + @network.all_synapses.each_with_index do |synapse, i| synapse.weight = @weights[i].clone end end From 344f1f7655f12ccea1bca76fc365359c5f7f96f1 Mon Sep 17 00:00:00 2001 From: art Date: Tue, 5 Jun 2018 23:37:38 +0300 Subject: [PATCH 3/8] minor bug fixes --- src/shainet/basic/es.cr | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr index e552800..c4da7db 100644 --- a/src/shainet/basic/es.cr +++ b/src/shainet/basic/es.cr @@ -1,10 +1,9 @@ module SHAInet class Pool - property mvp : Organism + property :mvp # : Organism + getter original_biases : Array(Float64), original_weights : Array(Float64), organisms : Array(Organism) - @organisms : Array(Organism) - - def initialize(@network : Network, @pool_size : Int32) + def initialize(@network : Network, @pool_size : Int32 = 1) # Store previous data to avoid moving towards worse network states @original_biases = Array(Float64).new @original_weights = Array(Float64).new @@ -41,6 +40,8 @@ module SHAInet @pool : Pool @learning_rate : Float64 @mutation_chance : Float64 + @biases : Array(Float64) + @weights : Array(Float64) def initialize(@pool : Pool) @learning_rate = rand(0.0..1.0) @@ -54,8 +55,8 @@ module SHAInet @learning_rate = rand(0.0..1.0) @mutation_chance = rand(0.0..1.0) @mse = 100000.0 - @biases = @pool.original_biases.clone - @weights = @pool.original_weights.clone + # @biases = @pool.original_biases.clone + # @weights = @pool.original_weights.clone end def get_new_params @@ -67,8 +68,7 @@ module SHAInet # Update networks biases using the organisms specific parameters threshold = (@learning_rate*@pool.original_biases[i]).abs - change = rand(-threshold..threshold) - new_value = @pool.original_biases[i] + change + new_value = @pool.original_biases[i] + rand(-threshold..threshold) neuron.bias = new_value @biases[i] = new_value end @@ -82,8 +82,7 @@ module SHAInet # Update networks biases using the organisms specific parameters threshold = (@learning_rate*@pool.original_weights[i]).abs - change = rand(-threshold..threshold) - new_value = @pool.original_weights + change + new_value = @pool.original_weights + rand(-threshold..threshold) synapse.weight = new_value @weights[i] = new_value end From 62f63b31c754e919ed75ec4f04c0a0970161f2e7 Mon Sep 17 00:00:00 2001 From: art Date: Mon, 11 Jun 2018 16:14:23 +0300 Subject: [PATCH 4/8] Cross-entropy cost now working --- spec/network_spec.cr | 156 +++++++++++++++++++++------------ src/shainet/basic/es.cr | 24 ++++- src/shainet/basic/functions.cr | 39 ++++----- src/shainet/basic/network.cr | 16 +++- 4 files changed, 150 insertions(+), 85 deletions(-) diff --git a/spec/network_spec.cr b/spec/network_spec.cr index dddc432..cfdf274 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -69,50 +69,50 @@ describe SHAInet::Network do # (nn.all_neurons.size > 0).should eq(true) # end - it "Figure out XOR with SGD + M" do - puts "---" - puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" - training_data = [ - [[0, 0], [0]], - [[1, 0], [1]], - [[0, 1], [1]], - [[1, 1], [0]], - ] - - xor = SHAInet::Network.new - - xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) - 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } - xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) - xor.fully_connect - - # xor.learning_rate = 0.7 - # xor.momentum = 0.3 - - # xor.train( - # data: training_data, - # training_type: :sgdm, - # cost_function: :mse, - # epochs: 5000, - # error_threshold: 0.000001, - # log_each: 1000) - - xor.train_es( - data: training_data, - pool_size: 100, - learning_rate: 0.2, - sigma: 0.3, - cost_function: :mse, - epochs: 1000, - mini_batch_size: 1, - error_threshold: 0.0, - log_each: 10) + # it "Figure out XOR with SGD + M" do + # puts "---" + # puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" + # training_data = [ + # [[0, 0], [0]], + # [[1, 0], [1]], + # [[0, 1], [1]], + # [[1, 1], [0]], + # ] - (xor.run([0, 0]).first < 0.1).should eq(true) - (xor.run([1, 0]).first > 0.9).should eq(true) - (xor.run([0, 1]).first > 0.9).should eq(true) - (xor.run([1, 1]).first < 0.1).should eq(true) - end + # xor = SHAInet::Network.new + + # xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) + # 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } + # xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) + # xor.fully_connect + + # # xor.learning_rate = 0.7 + # # xor.momentum = 0.3 + + # # xor.train( + # # data: training_data, + # # training_type: :sgdm, + # # cost_function: :mse, + # # epochs: 5000, + # # error_threshold: 0.000001, + # # log_each: 1000) + + # xor.train_es( + # data: training_data, + # pool_size: 100, + # learning_rate: 0.2, + # sigma: 0.3, + # cost_function: :mse, + # epochs: 1000, + # mini_batch_size: 1, + # error_threshold: 0.0, + # log_each: 10) + + # (xor.run([0, 0]).first < 0.1).should eq(true) + # (xor.run([1, 0]).first > 0.9).should eq(true) + # (xor.run([0, 1]).first > 0.9).should eq(true) + # (xor.run([1, 1]).first < 0.1).should eq(true) + # end # it "Supports both Symbols or Strings as input params" do # puts "---" @@ -320,9 +320,9 @@ describe SHAInet::Network do # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - it "works on iris dataset using evolutionary strategies as optimizer" do + it "Works with cross-entropy" do puts "---" - puts "works on iris dataset using evolutionary strategies as optimizer" + puts "Works with cross-entropy (sgdm, mini-batch_train, cross-entropy, sigmoid + softmax)" label = { "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], @@ -334,6 +334,9 @@ describe SHAInet::Network do iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) iris.fully_connect + iris.learning_rate = 0.7 + iris.momentum = 0.3 + outputs = Array(Array(Float64)).new inputs = Array(Array(Float64)).new CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| @@ -347,21 +350,64 @@ describe SHAInet::Network do normalized = SHAInet::TrainingData.new(inputs, outputs) normalized.normalize_min_max - iris.train_es( + iris.train_batch( data: normalized.data.shuffle, - pool_size: 50, - learning_rate: 0.2, - sigma: 0.3, - cost_function: :mse, - epochs: 10, - mini_batch_size: 1, - error_threshold: 0.0, - log_each: 1) + training_type: :sgdm, + cost_function: :c_ent, + epochs: 100, + error_threshold: 0.000001, + mini_batch_size: 50, + log_each: 10) result = iris.run(normalized.normalized_inputs.first) - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) + expected = [0.0, 0.0, 1.0] + puts "result: \t#{result}" + puts "expected: \t#{expected}" + ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) end + # it "works on iris dataset using evolutionary strategies as optimizer" do + # puts "---" + # puts "works on iris dataset using evolutionary strategies as optimizer" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect + + # outputs = Array(Array(Float64)).new + # inputs = Array(Array(Float64)).new + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + # row_arr = Array(Float64).new + # row[0..-2].each do |num| + # row_arr << num.to_f64 + # end + # inputs << row_arr + # outputs << label[row[-1]] + # end + # normalized = SHAInet::TrainingData.new(inputs, outputs) + # normalized.normalize_min_max + + # iris.train_es( + # data: normalized.data.shuffle, + # pool_size: 50, + # learning_rate: 0.2, + # sigma: 0.3, + # cost_function: :mse, + # epochs: 10, + # mini_batch_size: 1, + # error_threshold: 0.0, + # log_each: 1) + + # result = iris.run(normalized.normalized_inputs.first) + # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) + # end + # it "works on the mnist dataset using adam and batch" do # mnist = SHAInet::Network.new # mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr index 6f77703..5a87903 100644 --- a/src/shainet/basic/es.cr +++ b/src/shainet/basic/es.cr @@ -14,6 +14,7 @@ module SHAInet @learning_rate : Float64, @sigma : Float64) # + raise "Pool size must be at least 2" if @pool_size < 2 # Store previous data to avoid moving towards worse network states @pool_biases = Array(Float64).new @pool_weights = Array(Float64).new @@ -70,15 +71,21 @@ module SHAInet def pull_params normalize_rewards norm_value = @learning_rate / (@pool_size * @sigma) + # puts "norm_value: #{norm_value}" @organisms.each do |organism| organism.biases.each_with_index do |bias, i| weighted_value = bias * organism.reward - @pool_biases[i] += norm_value * weighted_value + @pool_biases[i] += weighted_value # norm_value * weighted_value + # puts "i: #{i}" + # puts "organism.error_signal: #{organism.error_signal}" + # puts "organism.reward: #{organism.reward}" + # puts "bias: #{bias}" + # puts "weighted_value: #{weighted_value}" end organism.weights.each_with_index do |weight, i| weighted_value = weight * organism.reward - @pool_weights[i] += norm_value * weighted_value + @pool_weights[i] += weighted_value # norm_value * weighted_value end end @@ -121,7 +128,7 @@ module SHAInet end class Organism - property mse : Float64, reward : Float64 + property mse : Float64, error_signal : Array(Float64), reward : Float64 getter biases : Array(Float64), weights : Array(Float64) @network : Network @@ -140,6 +147,7 @@ module SHAInet # @sigma = rand(0.0..1.0) @mse = 0.0 @reward = 0.0 + @error_signal = [] of Float64 @original_biases = original_biases.clone @original_weights = original_weights.clone @@ -209,7 +217,15 @@ module SHAInet # end def update_reward - @reward = -@mse.clone # ((@network.prev_mse - @mse) / @network.prev_mse) + @error_signal = @network.error_signal.clone + @reward = 0.0 + @error_signal.each { |v| @reward -= v } + # reward_sum = -@error_signal.reduce(0.0) { |acc, i| acc + i } + # @reward = SHAInet._tanh(reward_sum) + + # puts "@reward: #{@reward}" + # puts "@error_signal: #{@error_signal}" + # @reward = -@mse.clone # ((@network.prev_mse - @mse) / @network.prev_mse) # puts "###############" # puts "@network.prev_mse: #{@network.prev_mse}" # puts "@mse: #{@mse}" diff --git a/src/shainet/basic/functions.cr b/src/shainet/basic/functions.cr index f14f757..552acbe 100644 --- a/src/shainet/basic/functions.cr +++ b/src/shainet/basic/functions.cr @@ -137,9 +137,12 @@ module SHAInet } end - # def self.quadratic_cost_derivative : Proc(GenNum, GenNum, Float64) - # ->(expected : GenNum, actual : GenNum) { _quadratic_cost_derivative(expected.to_f64, actual.to_f64) } - # end + def self.cross_entropy_cost : CostFunction + ->(expected : GenNum, actual : GenNum) { + {value: _cross_entropy_cost(expected.to_f64, actual.to_f64), + derivative: _cross_entropy_cost_derivative(expected.to_f64, actual.to_f64)} + } + end # # Cost functions # # @@ -147,32 +150,24 @@ module SHAInet return (0.5*(actual - expected)**2).to_f64 end - def self.cross_entropy_cost(expected : Float64, actual : Float64) : Float64 - raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") - # a = ((-1)*((expected*Math.log((actual), Math::E) + (1.0 - expected)*Math.log((1.0 - actual), Math::E))**2)**0.5).to_f64 - # if a.to_s.match(/(-NaN|NaN|Infinity)/i) - # return 0.0 - # else - # return a - # end + def self._cross_entropy_cost(expected : Float64, actual : Float64) : Float64 + # raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + if expected == 1.0 + return (-1)*Math.log((actual), Math::E) + elsif expected == 0.0 + return (-1)*Math.log((1.0 - actual), Math::E) + else + raise MathError.new("Expected value must be 0 or 1 for cross entropy cost.") + end end # # Derivatives of cost functions # # - def self._quadratic_cost_derivative(expected : Float64, actual : Float64) : Float64 return (actual - expected).to_f64 end - def self.cross_entropy_cost_derivative(expected : Float64, actual : Float64) : Float64 - if actual == expected == 0.0 || actual == expected == 1.0 - a = 0.0 - elsif actual == 0.0 && expected != 0.0 - a = -1.0 - else - a = ((actual - expected)/((1.0 - actual)*actual)).to_f64 - end - # puts a - return a + def self._cross_entropy_cost_derivative(expected : Float64, actual : Float64) : Float64 + return (actual - expected).to_f64 end ################################################################## diff --git a/src/shainet/basic/network.cr b/src/shainet/basic/network.cr index 1a44eff..46443f1 100644 --- a/src/shainet/basic/network.cr +++ b/src/shainet/basic/network.cr @@ -598,14 +598,21 @@ module SHAInet # Go over each data points and collect mse # based on each specific example in the batch - batch_sum = 0.0 + batch_mse_sum = 0.0 + batch_err_sig_sum = Array(Float64).new(@output_layers.last.neurons.size) { 0.0 } + data_slice.each do |data_point| evaluate(data_point[0], data_point[1], cost_function) # Update error signal in output layer update_mse - batch_sum += @mse + batch_mse_sum += @mse + @error_signal.size.times { |i| batch_err_sig_sum[i] += @error_signal[i] } + + puts "data_point: #{data_point}" + puts "@error_signal: #{@error_signal}" end - organism.mse = batch_sum # / mini_batch_size # Update MSE of the batch + @mse = batch_mse_sum / mini_batch_size # Update MSE of the batch + # organism.mse organism.update_reward # if organism.mse < pool.mvp.mse @@ -745,7 +752,8 @@ module SHAInet when "mse" return SHAInet.quadratic_cost when "c_ent" - raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + # raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + return SHAInet.cross_entropy_cost else raise NeuralNetInitalizationError.new("Must choose correct cost function or provide a correct Proc") end From b7ce40220be80339135d70872f3aad3bb0f7bcc6 Mon Sep 17 00:00:00 2001 From: art Date: Mon, 11 Jun 2018 16:15:32 +0300 Subject: [PATCH 5/8] Cross-entropy cost now working --- spec/network_spec.cr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/network_spec.cr b/spec/network_spec.cr index cfdf274..fbb3fb6 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -361,8 +361,8 @@ describe SHAInet::Network do result = iris.run(normalized.normalized_inputs.first) expected = [0.0, 0.0, 1.0] - puts "result: \t#{result}" - puts "expected: \t#{expected}" + puts "result: \t#{result.round(4)}" + puts "expected: \t#{expected.round(4)}" ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) end From 738e71d3d0b62ade4af8a21bda87590007662f6c Mon Sep 17 00:00:00 2001 From: art Date: Mon, 11 Jun 2018 16:26:18 +0300 Subject: [PATCH 6/8] ES optimizer now works (mostly, working on fixing NaNs issue) --- spec/network_spec.cr | 139 ++++++++++++++++++----------------- src/shainet/basic/network.cr | 6 +- 2 files changed, 74 insertions(+), 71 deletions(-) diff --git a/spec/network_spec.cr b/spec/network_spec.cr index fbb3fb6..c1efeca 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -231,9 +231,52 @@ describe SHAInet::Network do # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - # it "works on iris dataset with mini-batch train with Adam (mini-batch)" do + it "works on iris dataset with mini-batch train with Adam (mini-batch)" do + puts "---" + puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end + normalized = SHAInet::TrainingData.new(inputs, outputs) + normalized.normalize_min_max + + iris.train_batch( + data: normalized.data.shuffle, + training_type: :adam, + cost_function: :mse, + epochs: 5000, + error_threshold: 0.000001, + mini_batch_size: 50, + log_each: 1000) + + result = iris.run(normalized.normalized_inputs.first) + ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) + end + + # it "trains , saves, loads, runs" do # puts "---" - # puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" + # puts "train, save, loads and run works (Adam, mini-batch_train, mse, sigmoid)" # label = { # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], @@ -270,13 +313,16 @@ describe SHAInet::Network do # mini_batch_size: 50, # log_each: 1000) - # result = iris.run(normalized.normalized_inputs.first) + # iris.save_to_file("./my_net.nn") + # nn = SHAInet::Network.new + # nn.load_from_file("./my_net.nn") + # result = nn.run(normalized.normalized_inputs.first) # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - # it "trains , saves, loads, runs" do + # it "Works with cross-entropy" do # puts "---" - # puts "train, save, loads and run works (Adam, mini-batch_train, mse, sigmoid)" + # puts "Works with cross-entropy (sgdm, mini-batch_train, cross-entropy, sigmoid + softmax)" # label = { # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], @@ -306,23 +352,23 @@ describe SHAInet::Network do # iris.train_batch( # data: normalized.data.shuffle, - # training_type: :adam, - # cost_function: :mse, - # epochs: 5000, + # training_type: :sgdm, + # cost_function: :c_ent, + # epochs: 100, # error_threshold: 0.000001, # mini_batch_size: 50, - # log_each: 1000) + # log_each: 10) - # iris.save_to_file("./my_net.nn") - # nn = SHAInet::Network.new - # nn.load_from_file("./my_net.nn") - # result = nn.run(normalized.normalized_inputs.first) + # result = iris.run(normalized.normalized_inputs.first) + # expected = [0.0, 0.0, 1.0] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - it "Works with cross-entropy" do + it "works on iris dataset using evolutionary strategies as optimizer" do puts "---" - puts "Works with cross-entropy (sgdm, mini-batch_train, cross-entropy, sigmoid + softmax)" + puts "works on iris dataset using evolutionary strategies as optimizer" label = { "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], @@ -334,9 +380,6 @@ describe SHAInet::Network do iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) iris.fully_connect - iris.learning_rate = 0.7 - iris.momentum = 0.3 - outputs = Array(Array(Float64)).new inputs = Array(Array(Float64)).new CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| @@ -350,64 +393,24 @@ describe SHAInet::Network do normalized = SHAInet::TrainingData.new(inputs, outputs) normalized.normalize_min_max - iris.train_batch( + iris.train_es( data: normalized.data.shuffle, - training_type: :sgdm, + pool_size: 50, + learning_rate: 0.2, + sigma: 0.3, cost_function: :c_ent, epochs: 100, - error_threshold: 0.000001, - mini_batch_size: 50, - log_each: 10) + mini_batch_size: 1, + error_threshold: 0.00001, + log_each: 1) result = iris.run(normalized.normalized_inputs.first) expected = [0.0, 0.0, 1.0] - puts "result: \t#{result.round(4)}" - puts "expected: \t#{expected.round(4)}" - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) + puts "result: \t#{result.map { |x| x.round(5) }}" + puts "expected: \t#{expected}" + ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) end - # it "works on iris dataset using evolutionary strategies as optimizer" do - # puts "---" - # puts "works on iris dataset using evolutionary strategies as optimizer" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - - # iris.train_es( - # data: normalized.data.shuffle, - # pool_size: 50, - # learning_rate: 0.2, - # sigma: 0.3, - # cost_function: :mse, - # epochs: 10, - # mini_batch_size: 1, - # error_threshold: 0.0, - # log_each: 1) - - # result = iris.run(normalized.normalized_inputs.first) - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) - # end - # it "works on the mnist dataset using adam and batch" do # mnist = SHAInet::Network.new # mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) diff --git a/src/shainet/basic/network.cr b/src/shainet/basic/network.cr index 46443f1..ffbfb79 100644 --- a/src/shainet/basic/network.cr +++ b/src/shainet/basic/network.cr @@ -553,7 +553,7 @@ module SHAInet pool_size : Int32, # How many random direction to try each time learning_rate : Float64, # How much of the noise i used for the parameter update sigma : Float64, # Range of noise values - cost_function : Symbol | String | CostFunction = :mse, # Proc returns the function value and it's derivative + cost_function : Symbol | String | CostFunction = :c_ent, # Proc returns the function value and it's derivative epochs : Int32 = 1, # a criteria of when to stop the training mini_batch_size : Int32 = 1, # Size of batch error_threshold : Float64 = 0.0, # a criteria of when to stop the training @@ -607,8 +607,8 @@ module SHAInet batch_mse_sum += @mse @error_signal.size.times { |i| batch_err_sig_sum[i] += @error_signal[i] } - puts "data_point: #{data_point}" - puts "@error_signal: #{@error_signal}" + # puts "data_point: #{data_point}" + # puts "@error_signal: #{@error_signal}" end @mse = batch_mse_sum / mini_batch_size # Update MSE of the batch From 8ba30f6d7283bebd2f718177b46f4d80dcaef56c Mon Sep 17 00:00:00 2001 From: art Date: Thu, 14 Jun 2018 17:13:19 +0300 Subject: [PATCH 7/8] Evolutionary optimizer done - Optimizer works - Added cross-entropy cost - Added random sampling from normal distribution - Minor changes to Data class - Improved specs --- README.md | 13 +- csv_file.csv | 10000 +++++++++++++++++++++ spec/cnn_spec.cr | 100 +- spec/network_spec.cr | 372 +- src/shainet/basic/data.cr | 14 +- src/shainet/basic/es.cr | 129 +- src/shainet/basic/network.cr | 114 +- src/shainet/cnn/cnn.cr | 3 +- src/shainet/{basic => math}/functions.cr | 0 src/shainet/math/random_normal.cr | 56 + 10 files changed, 10463 insertions(+), 338 deletions(-) create mode 100644 csv_file.csv rename src/shainet/{basic => math}/functions.cr (100%) create mode 100644 src/shainet/math/random_normal.cr diff --git a/README.md b/README.md index 80ab8b6..fc10a35 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,11 @@ SHAInet - stands for Super Human Artificial Intelligence network -a neural network in pure [Crystal](https://crystal-lang.org/) +a neural network in pure [Crystal](https://crystal-lang.org/) + +This is a free-time project, happily hosted by NeuraLegion that was created as part of some internal research. We started it with research in mind, rather than production, and just kept going, also thanks to members of the community. + +We wanted to try and implement some inspiration from the biological world into this project. In addition to that, we wanted to try an approach for NNs using object-oriented modeling instead of matrices. The main reason behind that was, to try new types of neurons aiming for more robust learning (if possible) or at least have more fine-tuned control over the manipulation of each neuron (which is difficult using a matrix-driven approach). At the [Roadmap](https://github.com/NeuraLegion/shainet#development) you can see what we plan to add to the network as the project will progress. @@ -201,11 +205,13 @@ puts "Cnn output: #{cnn.output}" - [x] Add more activation functions. - [x] Add more cost functions. - [x] Add more gradient optimizers - - [x] Add iRprop+ - - [x] ADAM + - [x] iRprop+ + - [x] ADAM + - [x] ES (evolutionary strategy, non-backprop) ### Advanced Features - [x] Convolutional Neural Net. + - [ ] Add support for multiple neuron types. - [ ] Bind and use CUDA (GPU acceleration) - [ ] graphic printout of network architecture. - [ ] Add LSTM. @@ -213,7 +219,6 @@ puts "Cnn output: #{cnn.output}" - [ ] GNG (growing neural gas). - [ ] SOM (self organizing maps). - [ ] DBM (deep belief network). - - [ ] Add support for multiple neuron types. diff --git a/csv_file.csv b/csv_file.csv new file mode 100644 index 0000000..b3379d3 --- /dev/null +++ b/csv_file.csv @@ -0,0 +1,10000 @@ +-0.4682262520681676 +-1.1971849657553704 +-2.1467975078344224 +-2.4513424505503174 +-1.5111943652880844 +-1.5721972022924078 +-1.6939442021402606 +-2.3756701820080326 +-2.2801784226649993 +-2.0980955476899377 +-1.1212747016794145 +-0.8212877800582417 +-0.050461739550796025 +-0.7742242653099529 +-1.3678518442642613 +-0.4160848298580788 +0.4973405234083428 +0.24291438720119773 +-0.38307001662033746 +-1.3361281845441981 +-0.8393997545728755 +-0.7957488575729759 +-0.9657126472604242 +-1.6902851536370642 +-2.587587451808786 +-2.5448363668227123 +-1.6826299819759032 +-2.640135564677026 +-2.6861855497144815 +-3.5033871812223403 +-2.833576915220646 +-3.1169799330259145 +-2.8833721999618414 +-2.354753167244263 +-1.5174724975233504 +-2.4715774663271994 +-2.071651016087608 +-2.241739355984376 +-1.4457990245527002 +-0.479711587649327 +0.43017509583249813 +0.591355896809824 +1.445217748646929 +1.4724133238954191 +1.414860548820828 +0.8664647055999155 +0.8008998101580703 +0.7691169286491781 +0.6659468982795945 +0.30801149915098835 +0.49437796394148936 +-0.40062684287356776 +-1.2244474804435244 +-1.998829646450212 +-1.998829646450212 +-2.0278564898922085 +-1.4917016461460435 +-0.720282136482036 +-0.8267819286395964 +-0.3770825430020689 +-0.34237436423380674 +0.1784989634996451 +0.009302652440343895 +-0.249325636974162 +0.24159433922958018 +0.3215799697713747 +0.386730689428047 +-0.44670643414616873 +-0.11089974759582744 +-0.1850090161194582 +0.7230954594212053 +0.06421348743334732 +0.7679962667778966 +1.5760589022722573 +1.5760589022722573 +1.5760589022722573 +2.5295040337036623 +2.8447969870206933 +2.895861212045367 +2.828146530235074 +2.671335810328856 +3.10453650744235 +3.9589891635419745 +3.5787599479493943 +4.036963999173473 +4.036963999173473 +3.872376356379685 +3.770701445992524 +3.862636091274476 +4.00424876642141 +3.3582935020601843 +2.637254144740516 +2.637254144740516 +2.250570163914073 +2.9060775267941255 +2.7241565658282902 +2.7241565658282902 +2.8813685996138645 +2.3133144620721273 +2.3133144620721273 +2.6732157772887932 +3.631899036053071 +4.224142059385554 +4.224142059385554 +3.6731741272557485 +3.6731741272557485 +3.3319144489749464 +2.8766301092459803 +2.453148531301357 +2.149059907173606 +1.9287064606299777 +1.9383013310130812 +1.139471058505917 +1.6553942380895987 +1.2756253013349728 +0.8164443601563479 +1.430375947377811 +2.18233617425493 +2.3257112200688024 +2.3257112200688024 +1.6549394895951128 +1.6549394895951128 +1.4193342313108683 +1.1016323600795719 +0.1852531701372533 +-0.3379946890509189 +-0.41475049483409177 +0.5030644021896845 +0.42765147742728704 +1.0519533203918598 +0.2437705699332935 +-0.2839531095542498 +-0.8348491921239369 +-1.5690343415708332 +-1.2845407456357625 +-1.3033441844186657 +-1.6845697740213281 +-1.355237273141728 +-1.4978406726931528 +-0.7029188736135425 +-0.2479770161466699 +-0.1314547773542445 +-0.739556615445375 +-1.3031464794559777 +-1.0903550348844004 +-0.9705695761865496 +-1.4906631133888102 +-1.8669511769027611 +-1.5654893102710143 +-1.6375309612299622 +-2.4125636616821415 +-2.9562040657598465 +-3.3962299531447258 +-3.750528436647567 +-3.1075089158240754 +-2.8013382704321863 +-1.8983737281893873 +-1.574487515465854 +-1.9232008635801798 +-2.100830077889928 +-1.9123664686610804 +-0.9792336235243282 +-1.1278339326506588 +-0.988021719586107 +-1.3005900748029733 +-1.19821387135832 +-0.7993254547911826 +-0.18310375004933332 +0.45415168998495137 +0.14287059836556948 +-0.4754208446491722 +-0.6327167593437821 +-1.6053835070536142 +-1.2966743117429065 +-1.2966743117429065 +-1.278406416320372 +-1.278406416320372 +-0.47183384432879616 +0.15400607017682466 +0.26502384841624904 +-0.3663670039034115 +-0.6360119091284323 +-0.7727825676815545 +-0.4839224783312479 +0.3635521064407341 +-0.424229583984606 +-0.8977823955222438 +-1.0836512560353535 +-0.9552926353071332 +-1.5490348274067198 +-2.541593516473153 +-1.9089490498006347 +-1.5714224210713081 +-0.6106413071332537 +-1.3961246709920179 +-1.6929868913955213 +-2.3649335026373364 +-1.4453186064049837 +-1.4453186064049837 +-0.8459839198821462 +-0.6732406774317885 +-1.4249323163503764 +-1.2153534036487563 +-0.9188219747463764 +0.06390830728440533 +-0.17290454019791712 +-0.4017681690677717 +-1.0135666685918845 +-0.31810732748752923 +-0.4353086018294364 +-0.5615896508719762 +0.36315869155087177 +0.1906498544149925 +-0.4576384312204641 +0.1633764854953429 +0.4958166137388652 +0.9851276353211661 +0.5993407987628565 +0.718965601155561 +0.4388321025973795 +0.18832532690992632 +0.8765274091932242 +1.4565506939774309 +0.4647758342530317 +1.2541826634617357 +1.3321912703722885 +0.9468745400042738 +0.04639045773448369 +0.5195682305416395 +1.0330643738630196 +0.9799464861305861 +1.3556727669293531 +1.6979602428442402 +1.376604407573232 +1.8715389230385342 +2.5415314997268528 +3.4411871161758527 +3.4411871161758527 +2.537374752159681 +2.961124934132277 +3.9426630333520833 +4.181679148736319 +3.610172839631719 +3.610172839631719 +4.599810326991747 +4.598513939118166 +4.893699671091289 +5.225782561982948 +6.08404195261809 +5.9297597966828715 +5.816296866979339 +5.486049080581383 +5.564486817846909 +4.754794558751116 +4.471725437552875 +4.828524093063737 +5.469040250091534 +5.121592806854108 +4.456308319307122 +5.039326717256493 +4.9477496573593776 +4.750579391206524 +4.3459712088159606 +4.382977639785274 +3.581842390815508 +3.5217303461580696 +2.5629884907295026 +1.8593607052412808 +1.1893837838940475 +1.9362868098404016 +1.1426836868933117 +0.985810666915944 +0.6291211535075925 +-0.14552187078056567 +-0.9381938891050365 +-0.9381938891050365 +-0.887675248814259 +0.08223215334000389 +-0.34574994416619276 +-0.6218753982404912 +-1.2550057947525806 +-0.6773824905100596 +-1.4099879214237607 +-0.670899437934871 +-0.20312428277254657 +0.11657744902119349 +0.649902874546292 +-0.25911134189279617 +-1.0960141284108111 +-1.9583419795647627 +-1.086861776165451 +-1.4452884587976338 +-0.5082864576192454 +-0.7182601152634521 +-0.9384525496301173 +-1.527494091074176 +-1.0208661039629565 +-0.9531927505036291 +-1.394872129285364 +-1.5720144340525364 +-1.3935968625005095 +-1.7560083618505211 +-2.32318156329207 +-2.628948488680282 +-3.5399609166557737 +-3.886747639425632 +-3.766892232631669 +-4.152244476618699 +-3.309999064085852 +-3.309999064085852 +-3.7347807166873848 +-3.6745587707865996 +-2.9218667279724713 +-2.9218667279724713 +-2.8960058416463337 +-3.026952965533347 +-2.3373313823435704 +-2.958547207626733 +-2.4122971602700307 +-3.0843323117477555 +-3.59296747906552 +-3.59296747906552 +-2.652480104625942 +-3.489571694015897 +-4.227822506681205 +-3.84873866188291 +-3.744534055236189 +-3.694330806175123 +-3.711312374628202 +-4.088724355952702 +-4.600962595204733 +-4.600962595204733 +-4.978340384999339 +-4.996581113139239 +-5.180309326848613 +-5.866359561953926 +-6.38156225567033 +-6.38454519919597 +-5.535666269571026 +-5.59611929574917 +-5.59611929574917 +-6.4320529017462515 +-6.4320529017462515 +-6.4320529017462515 +-6.151400646284889 +-6.906388597333428 +-6.734422709531854 +-6.031874592078086 +-5.380826411995085 +-4.398047709108523 +-4.629467714260501 +-4.3275364471489475 +-3.657686640074553 +-2.916243259934234 +-2.916243259934234 +-3.0777213250476145 +-2.522014281996502 +-3.111447623525015 +-3.005185987839366 +-2.170903631557437 +-2.091759873706317 +-2.751487766180146 +-2.751487766180146 +-1.9650357175571491 +-1.7948558111745438 +-1.9950018549907087 +-2.5804998826550545 +-1.706999532077544 +-2.0269017317412663 +-2.0135621538103727 +-2.3097447732284446 +-1.3963566336350477 +-0.5531500415500938 +-0.29987219956364064 +0.12706229909601174 +-0.20112939076543002 +0.7789708536216801 +1.5458062569404851 +1.4907548296897626 +1.9283128959328515 +2.674434337399819 +2.1842843611971947 +2.53676912319359 +1.8079281634789774 +2.4636888696078096 +2.735005195230569 +3.095262266210738 +3.5370679347996217 +4.16979541628508 +3.707610775963129 +4.548448571558598 +5.451192097847891 +4.474892340828813 +4.8233841437351765 +4.6578031031118705 +4.6578031031118705 +4.009419678022381 +4.74827042795974 +4.283622956952362 +3.537604512273413 +4.292713232527442 +4.125285100103134 +4.253579731558834 +3.7851859028741153 +3.609950651385294 +2.9441436505101226 +3.379252506551255 +2.7669113321180494 +2.7669113321180494 +3.6638419349915985 +3.6638419349915985 +3.6638419349915985 +4.1645716702454285 +4.1645716702454285 +4.182606046249895 +3.7606115670848257 +3.8739864089738676 +3.6609787171252823 +2.7700127535454437 +3.731335505689491 +3.6707702278724312 +4.362176472170423 +4.362176472170423 +4.0390840106560875 +4.9876468969036365 +4.051141653720615 +4.37524201031713 +3.6431680409663145 +4.590266919879679 +4.114107549418447 +4.060885383628092 +3.5790832084652444 +4.347160197827341 +4.911449105988554 +5.092340079998289 +5.179534516851089 +5.179534516851089 +4.759676606915569 +4.0734158154970626 +3.706180293808066 +4.58048243379922 +3.6799297160500393 +2.933355044416889 +2.5330923316314773 +1.8114282251545852 +2.530875253890826 +2.530875253890826 +2.8972152098036847 +2.2029038513956296 +2.278998471108236 +2.4641662002195175 +1.6016243254929001 +1.3645375817931589 +0.6576922344994172 +1.2621380363031465 +0.8680274806546479 +0.8680274806546479 +1.4076985298322535 +1.4076985298322535 +1.6258451873722912 +1.1841167293079606 +1.5498102897517336 +2.3340081821143497 +1.6879465617560874 +1.083788299522144 +1.815933812456707 +0.9067161433662385 +1.0000295196956346 +1.2523812857692425 +1.2523812857692425 +0.708086350686475 +1.331376626110596 +0.4820637382579571 +0.6496497873854201 +0.2954523616799617 +0.48914754626544543 +0.09187046965733692 +0.8309283231653175 +0.05682077391980633 +0.17965620337818167 +-0.32019178405750426 +0.6201700325352862 +1.1074186247010092 +0.7731362551276167 +0.8833554400080351 +-0.03395447797969198 +0.8177157662061666 +1.1306235003758416 +0.44533286955409324 +1.156794482370452 +1.8958872355401784 +2.16176547029585 +1.8474508425139011 +2.474021296797022 +2.222073618454676 +1.9910631790461801 +1.0975487450807306 +1.3261728322209465 +1.7779211993822794 +2.1299089304274412 +1.7888224244040694 +1.0046167251551175 +1.7149452878289138 +2.3257385043562744 +2.7781877664372603 +2.035514020135702 +2.0767351574604165 +1.8960502393777672 +2.793434005970604 +3.1936523356917914 +2.8243644688786036 +3.6454013408151917 +2.8029533311124903 +2.110585393505189 +2.959582550553073 +3.718788556801871 +2.7423506498269816 +2.327349047788412 +1.4419076336956025 +2.3867705743280494 +2.785497500708022 +2.4737517552457766 +2.8644437057468775 +2.0513874777927175 +1.6641000479685255 +1.0189049021847763 +1.1315780483405202 +1.295836575801881 +1.0413727410520326 +1.9386493500856652 +2.8036390417203627 +2.7194378341296055 +2.906958788413758 +3.710226211049313 +3.8942794237771166 +4.829116970192122 +4.983252558402491 +4.51865844862626 +3.589958389812888 +2.9702236782337743 +2.0990746850652267 +1.9377182355180427 +1.9377182355180427 +1.9377182355180427 +1.8421720067754994 +2.174458690184025 +1.4269346662665985 +0.82017645424923 +1.6809392559032916 +1.1945355133848534 +0.3004626952866578 +-0.10816094379519658 +0.6759544625937904 +-0.22435132622900433 +-0.4195722550593306 +-0.7380228492231006 +-0.8025460478642252 +-0.6964930905029287 +-0.8430670317421226 +-1.0011340803134212 +-0.9129201649851657 +-0.3633641802190266 +-0.420932768032107 +-0.8034025574013459 +-1.283451349653229 +-0.9811867091931847 +-1.450810143094801 +-0.7906533370817186 +-0.5408346848418499 +-0.048793323552762446 +0.8332246517300355 +1.4872190970628067 +1.6711982102381446 +2.62716021570207 +1.8544351851940217 +1.0347391904165628 +1.473298655924982 +2.441380608955841 +2.1795296340586723 +1.7787716394583346 +1.1624934227718502 +1.419934127887026 +0.5756649392786535 +1.1367995677573928 +1.9483879218374283 +1.8822174669496259 +2.4574358310905624 +2.6072576410854458 +1.6738836611368566 +0.9443731047353514 +1.2786767434839563 +1.4941109988765253 +0.7974444173610087 +0.9012016672610921 +0.05168618844894102 +0.5940962600920097 +0.6684952601031209 +0.09081675732983263 +0.9884342685779623 +0.11082953356392133 +0.4046644749726169 +1.3806263953126652 +1.3806263953126652 +0.6980108390501809 +-0.07431550150453736 +0.8377494099762028 +0.3332414623682576 +0.5609603847191749 +-0.3348121148159713 +-0.06532162684078391 +0.39458105940217747 +0.5395325327106051 +0.651583236934717 +0.8460284355989895 +1.4707724411773042 +2.1554524785157723 +2.0246390540721535 +1.0422914365439644 +1.1041213502301601 +0.6471664268400302 +1.348048220445568 +0.526520274975947 +-0.28642126457428274 +0.18512108735220756 +-0.293916758918381 +-5.0208797408246575e-5 +-0.1231663499558997 +0.4631639341220053 +-0.0892295460464807 +0.23691963957800843 +-0.15770178115585554 +-0.0865248939955009 +-0.13667529364454634 +-0.5848250727908705 +-0.6164737733063861 +-0.6164737733063861 +0.1020763094228121 +-0.8128084743284525 +-0.20228717286672038 +-0.7136144775566169 +0.2348259071743204 +-0.45505678850796993 +-0.690511869820044 +-1.3564728391534744 +-1.6579265185774266 +-1.9041029122569926 +-0.9649891810728157 +-0.1533837953591639 +-0.2588488116478155 +0.285170217620926 +-0.019689925138132613 +0.6183881601541144 +1.2053240614253617 +1.498440383859274 +2.191345880784204 +1.4093394352852584 +0.8734543630792879 +1.6640870393650866 +0.8208363347784351 +0.4642550451257236 +1.1914569500560357 +0.42597689384346094 +0.9656885784553639 +0.5980991838493869 +0.5462394941643482 +1.4411214221607618 +1.9317289252112761 +0.9751862104867055 +1.8276202118204843 +1.9615301057683756 +2.570260303354088 +1.6386794368169484 +1.555684522906628 +2.169085717398934 +2.2679096061352473 +2.672259179312092 +1.7346874635313834 +2.392717623670401 +2.2917439473683117 +1.7406392853716548 +2.140595509952985 +1.2476491390969884 +1.6415323376389501 +1.6757338195889477 +1.0577626498605655 +0.8602203235897207 +0.7204242418796891 +0.27815351127294685 +0.28026865140850343 +0.5712031309435454 +1.5314207501457902 +1.3248352335659872 +2.2149546379518874 +1.4477963982674555 +0.8369544436103433 +0.25398941380539797 +-0.2778750131248118 +-0.2635567572503261 +-0.2635567572503261 +0.2616925373873986 +0.3625553277100986 +0.2595924539837028 +0.3785625584233353 +0.9609960791056199 +0.7038069336922461 +1.3612729970760142 +0.6406222081040407 +0.767920259925011 +1.6748969682639783 +2.656244270156387 +3.5787744051936743 +3.7365747921673513 +3.0796419990893833 +2.5640949559673953 +3.0219842005670268 +2.0813406237457635 +2.937365345390658 +2.2076905534713673 +1.2813811488114792 +1.5049515951704666 +1.6216527724284842 +2.564186764989574 +1.585624488143411 +1.2000053012493739 +1.641006608101222 +1.517832711438202 +1.391893612589048 +1.5959910022188057 +2.5207071575065347 +2.650757654095558 +2.5065029810902146 +1.8935860141274476 +2.131155881252411 +1.5984310580766445 +0.8120935196147254 +0.08054098532398135 +-0.43446924596840586 +-1.1856014560993493 +-0.7314454458943114 +-0.7314454458943114 +-0.3201754034662436 +-0.15779654582281544 +-0.06629530473116252 +0.0683787436827541 +0.5966222680287843 +-0.3210712225960104 +0.3391211718572691 +0.9807095410384239 +0.512166218842583 +0.3800161220280043 +-0.36357480050859436 +-0.07382131253324742 +-0.752980218605303 +-0.2713810028336967 +0.0722666675812238 +0.8883061516173463 +0.6593148077412206 +-0.244457572208301 +-0.49187732942405304 +-0.366601649789275 +-0.9918221362996082 +-1.498658044870113 +-1.81880085718017 +-2.577201074073038 +-2.8807849944477915 +-3.1331900317396375 +-3.409274557575383 +-3.444514724364974 +-4.258367638162361 +-4.136735887528378 +-4.574975277541642 +-5.022984195761793 +-5.022984195761793 +-5.022984195761793 +-5.022984195761793 +-5.022984195761793 +-5.886091777569607 +-6.880460131839843 +-6.880460131839843 +-6.523335498195978 +-7.111721932004894 +-6.957774383424117 +-6.848010452710329 +-6.131357741938238 +-5.893518599036051 +-6.835528673907858 +-6.12232890905645 +-5.9570673336134385 +-5.573715959620344 +-5.073860786662053 +-4.624388740443415 +-4.00221333234017 +-4.316545210688393 +-3.9205213326098955 +-3.546969518756568 +-3.4996159330244194 +-3.2320518902283575 +-2.350360943663936 +-2.4556185279013816 +-2.505247257410307 +-3.400792311052582 +-2.401744582549258 +-3.133222245702441 +-3.2297442192554766 +-3.714177539249567 +-4.140665132449052 +-3.4589808776670834 +-3.5340376411257415 +-3.7287502326858917 +-3.7287502326858917 +-3.1120739890211233 +-3.094098604035652 +-3.335087498380693 +-2.7501320598011256 +-1.8494514047540187 +-2.372346058510027 +-2.002482392990679 +-1.0295596338905768 +-1.2427737012558437 +-1.8883170237902789 +-1.0122386464897735 +-1.3215679601517536 +-0.9860597184550031 +-0.4544043401888045 +0.18578971300082747 +-0.459989102147609 +-0.442191977924024 +-1.1701248932029154 +-0.1740800991020517 +-0.10279397842933391 +-0.02775591927428067 +0.4035826179617754 +-0.1836084211274116 +0.6456704015152934 +0.6441923795101537 +0.8020616468842033 +1.7756393775862551 +1.9248651951510258 +1.0242548338615545 +0.4734632594027868 +-0.16479923833114873 +-0.12930618800608507 +-1.0300949535362232 +-1.8706129400644127 +-1.8706129400644127 +-1.9217615076448036 +-1.9217615076448036 +-2.4616021653983453 +-1.732530567326142 +-2.27950663185858 +-2.524576605184235 +-1.801939181995868 +-2.3931305471181226 +-2.8324418372691307 +-3.7214361264717053 +-2.9257094787285807 +-3.733913413814869 +-4.309563140870347 +-3.3285599594976514 +-2.442311700641052 +-2.888993823923891 +-1.9884569331878055 +-1.7245716466719867 +-1.796575425398875 +-1.6954780794370512 +-0.7035118240881995 +0.03714148635835124 +0.6664679667898141 +-0.11506971193777815 +0.7504656244191485 +1.3468935521003187 +1.018095833081992 +0.7557932986076822 +-0.17117894915460663 +0.4281985416659605 +0.9168513430274702 +1.0510306781112964 +1.8481356059264313 +2.0170316500179006 +2.23150317154081 +2.42071660923817 +2.308227595831599 +2.7990951533609065 +3.659163456680875 +3.1133219959107965 +3.527740191762767 +2.8850854922277405 +2.662049902505388 +3.0358122567418904 +2.2642505449585517 +2.522217180227135 +1.8833081333933839 +1.7530519030556628 +1.921476564617533 +1.0251250428595728 +0.5749146598635572 +-0.0736467113496927 +0.10053979708779359 +0.7276497860579417 +0.5115101660750079 +1.4775277359844152 +2.2962790714236854 +2.4307662025705166 +2.8951449213844844 +3.426613113080636 +3.299717977105172 +2.52083124827802 +2.52083124827802 +2.3705726004150587 +3.3572368593291726 +4.349542442375827 +3.912442417334159 +3.4867944423262576 +3.2850922081014207 +3.6444328705016265 +4.221607317518169 +3.795347597800233 +3.795347597800233 +3.873338821814961 +3.052931716472796 +2.9708065423346173 +3.5670264024565985 +2.7423861430706196 +2.4494515712627405 +1.4958720028549843 +2.217705717642966 +1.7572277692890284 +2.4674191043887097 +2.5037291888977213 +2.068559808240118 +1.8570656481903196 +1.8758001942984048 +1.3477523378590888 +2.340574155265598 +2.7280702981723675 +3.1974579869615027 +4.139029742644539 +3.629706705764665 +4.211193572333035 +4.866427700252905 +4.382881951281549 +4.0613243052899195 +3.85699249236473 +3.018825173916894 +3.018825173916894 +2.7705384068896506 +2.9786039638380384 +2.8066043421959805 +1.9324025288229816 +1.482977353590731 +0.7148885061312344 +-0.011691477368253045 +-0.33588413076959067 +0.5876506299511907 +0.8068542368749293 +0.16174531035682616 +0.16174531035682616 +-0.6663913625068926 +-0.5547584573167222 +-0.037280809751043864 +0.9152530440898604 +0.6751076527233144 +-0.1416161591797318 +-0.8568072074733419 +-0.49149126245677555 +0.15000754198504396 +-0.04367665076272098 +0.16947793902767605 +1.0183833685505697 +1.086450375044315 +1.6857429442227958 +1.4132861461108672 +1.6110644459638 +0.7260763473408383 +0.7904312829274263 +0.8200103960012226 +0.39019279249371863 +0.25964885735621834 +0.04666230775786684 +0.15923086730828506 +0.01533700340301336 +-0.3991809333073594 +-0.4612712316147445 +-1.1457201207109158 +-1.0847907904789622 +-1.7696269441538868 +-2.322617218148934 +-3.063822847974028 +-3.7817340091817275 +-3.2334331565240966 +-2.595134293614385 +-2.821665368252865 +-2.7802390554072587 +-1.801372284101367 +-1.8206209837628178 +-1.8206209837628178 +-2.4029118710991195 +-1.8248570060358267 +-2.468786959860316 +-3.3572890423644752 +-3.3572890423644752 +-4.131781060275587 +-4.384542997662697 +-4.384542997662697 +-3.5099016043519256 +-3.9187420623096507 +-3.7470984291410065 +-4.144897073205445 +-3.544025597990278 +-4.1176863085152124 +-3.284939938021058 +-2.95697123377039 +-2.24971565147949 +-2.4395322411750375 +-1.674506910603931 +-1.0356296270714667 +-0.58194647769144 +-0.8436541886918795 +0.002480483228455621 +-0.7541664018335362 +-0.7523585660644484 +-0.36560667452657813 +-0.9766323398552844 +-0.28528459507959114 +-0.5562816018274466 +-0.9300526234396432 +-0.8432835188397726 +-0.5152019999079519 +0.10252246328136982 +1.0493725718624303 +0.2767094195066324 +0.09673808589230004 +-0.07879852938034793 +-0.9595295458534758 +-1.244735775243341 +-1.3014648535773756 +-1.0763976702765627 +-1.066841997465497 +-0.2754362429290118 +-0.741229718146235 +-0.9161049960860153 +-0.4098927722893795 +-0.9498056288431258 +-0.38080210284729565 +-0.6471268086142842 +-0.3163815161962159 +-0.5594729464597883 +0.19275209369970203 +-0.21810340437262477 +-0.5455568796664805 +0.32023136990854706 +0.014819387296434283 +0.3464806368541601 +0.7304075740424948 +-0.22817569837784968 +-0.8140579028891729 +-0.6486925089166568 +-0.5928504106367546 +-0.48112938764454294 +-1.1590113696000643 +-1.1590113696000643 +-1.4489225292509316 +-2.069012502192922 +-2.737023234882971 +-2.3347660551098763 +-2.567358225978549 +-1.792321000939012 +-1.7653915095809378 +-0.8531424233705849 +-1.1955351806654444 +-1.3252645401852154 +-1.8027040739901974 +-1.2589842330474006 +-1.4753215573068763 +-1.7828708297762175 +-2.4046367903906782 +-3.2664830925484685 +-3.2450490136614363 +-2.523282220030211 +-1.6008815155480356 +-2.2628386191621814 +-2.2308182894990334 +-2.110505313403931 +-2.110505313403931 +-2.546531360818171 +-3.2887335415795205 +-3.292737841997488 +-3.3529306832601646 +-3.3656545597147995 +-2.642696708375761 +-2.7873966898088276 +-2.8462794955536608 +-3.6453696841023486 +-3.760634454592547 +-3.760634454592547 +-2.9722848431140947 +-3.9137805166623743 +-3.271607643774135 +-3.788914787911046 +-3.425540675998287 +-2.4887261957602425 +-2.531129140299913 +-2.6722092888495026 +-2.5931489145790687 +-3.204102640096935 +-2.5684532892405665 +-1.661597561291855 +-1.1113269648325859 +-0.24711512478689723 +0.06565155198528583 +-0.3999576389885203 +-0.9145777038768322 +-0.7993908216529667 +-0.6261868843863755 +0.2224362590989747 +0.17433178963881013 +1.0430196143658736 +0.11328897216868317 +0.802241453914291 +1.7416918317567638 +2.7093256790612066 +2.399987653898386 +2.4415927495254883 +2.693129324813774 +3.5261160229309714 +2.9247816662831703 +3.0152253258226507 +3.844031098828825 +3.154038903186488 +3.154038903186488 +3.6143540314907163 +2.6894727259026063 +2.062894483492837 +3.0186843567018675 +2.64934268357148 +2.325820210026034 +2.2165744773670193 +1.6852508244708357 +1.6559975546202832 +1.9886304312607186 +1.9886304312607186 +1.5069480338794912 +0.9986727410601361 +0.6009054714866296 +-0.30054670637921677 +0.6278860268814738 +1.360065166102777 +1.3794848719598622 +2.217587487673254 +2.8812989091440175 +2.5466008228610075 +3.2149063663885125 +2.9637224864533076 +3.4218598621852765 +2.658677792533009 +1.8267896674371085 +2.287077636787232 +3.0165529552760812 +3.0144053310769396 +3.996943368329541 +3.0293921609044956 +3.3329585887279505 +3.857577285108088 +4.303959698094134 +4.303959698094134 +3.766548171204399 +3.947572181046847 +3.8958848932828296 +3.1071112975948134 +2.19388031912875 +1.200433038434023 +0.29348458865199345 +-0.3255300331584765 +-0.8499821243545183 +-0.3775717895146975 +-1.345281670250652 +-1.570041178943283 +-1.4791042366044638 +-1.4791042366044638 +-1.5650250281882316 +-2.1792856707062285 +-1.284556489833773 +-1.9268519895488398 +-1.8002316505318836 +-1.0404629981437286 +-0.41637074241976735 +-0.2752543625985213 +0.6465761388516846 +1.3306636924847515 +0.7940058567454849 +0.8544619947447403 +0.3615031881791585 +0.7597254001284078 +0.6210851950011662 +1.1699657669283134 +1.78963129260218 +2.0661239133250113 +1.2395178576558439 +1.4667327640944838 +1.846820654969554 +1.539096757224852 +1.3583470226501424 +1.4170034977695112 +0.5855518198170544 +0.749947238283146 +0.30642455308415173 +0.2606615753162509 +0.655695465377939 +0.9570368191847307 +1.6463906853169812 +1.9100676694899372 +1.3231002610697664 +0.6611498975367465 +0.7248120733666437 +0.24798142895673114 +-0.6970995267888919 +-0.5532226214852397 +-0.32938240716702427 +-1.3247911568585322 +-0.44705264042564985 +-0.9052379800830198 +-1.0177109396092054 +-0.5350729062844177 +-0.5350729062844177 +-0.7098748181797973 +0.22846946712153648 +0.9825522348448584 +0.8357867073951086 +0.3119029962602651 +0.2505127354480031 +-0.16442868570639346 +0.5506909639771407 +-0.14193809601622087 +-0.8835511046132845 +-0.6976780457459455 +-0.879621104941937 +-1.7802660182539585 +-2.6047035657410316 +-2.1378020835243694 +-2.3826217829033767 +-2.589081156144736 +-2.934233797369366 +-3.3859240390992555 +-4.239856103882288 +-3.6262408473002528 +-3.6262408473002528 +-2.649050059447486 +-3.1660402739887474 +-2.661156152157162 +-3.6433032143372177 +-3.9375241008388797 +-4.018531243158328 +-3.5572869216889416 +-2.7997642993641945 +-2.647116270877941 +-3.363546316314262 +-3.363546316314262 +-2.482522993052683 +-2.1446165994495656 +-2.1695959086187857 +-3.0293526041278493 +-3.638558201819738 +-2.995639092575818 +-3.7595485407302425 +-3.1492966626722403 +-2.4439006778514183 +-2.767906509901031 +-3.376904677098481 +-4.039770485710888 +-3.1405789709237695 +-3.2609952852991535 +-4.028156829187358 +-4.053562914917275 +-3.1390196423625665 +-2.8932297234952333 +-2.8957062858211353 +-3.427868986780198 +-3.0309255618576447 +-2.1796676418929493 +-2.1796676418929493 +-2.1796676418929493 +-2.8578723025484583 +-2.8578723025484583 +-1.8742236965350618 +-2.4163393301559415 +-1.9079857276356766 +-1.7178756729391553 +-1.9904646188062354 +-2.7453487047757106 +-3.5263579213912486 +-3.0062016547286694 +-3.218967122666421 +-3.2356722789676295 +-3.419341383163756 +-3.5763347525863525 +-4.226254416732365 +-3.6822178380925754 +-2.7185952156592457 +-2.401186921151261 +-1.6864810313418237 +-2.1878863500287054 +-2.551038069001048 +-2.44147966271437 +-2.4434318625291507 +-2.739688377884727 +-2.0790181487087325 +-2.0790181487087325 +-2.0790181487087325 +-2.7453127021394 +-1.8971235784225076 +-2.3615452971331945 +-2.6254491464850056 +-3.3477878506192855 +-2.7674770704437535 +-2.206048983479244 +-1.3366115555336486 +-1.3203610199030964 +-1.0251925667086788 +-1.5859107626480362 +-2.393349478417578 +-1.9247063718470492 +-2.9219782330986894 +-2.8312678414711208 +-2.0174471560026355 +-1.1794721492327696 +-0.7444853088547441 +-0.08751320463573387 +-0.6901660269658754 +-1.5997820968277994 +-0.7825143414550537 +-1.4046297096688696 +-0.5790466506530005 +-1.5223384742866786 +-1.3083549333114746 +-0.3770664550705731 +-0.49494314651031346 +0.19667483408384634 +-0.31765202480485877 +-1.0351654099419347 +-1.5152857950185554 +-2.3167868732683536 +-2.3167868732683536 +-1.9790375113168428 +-2.71028426260962 +-2.572638369136479 +-2.223973328690982 +-2.744270892557241 +-1.9441751071777562 +-2.8945479519804262 +-2.492715594274622 +-3.2221537298911285 +-2.6787170779463247 +-3.448147742661803 +-3.448147742661803 +-2.899393724128878 +-2.835746338400289 +-3.066038742540912 +-3.2960742826973264 +-2.777860733884169 +-2.1565244831347528 +-1.829954040378647 +-2.387672357319439 +-1.4495487573678913 +-0.9097032279117032 +-0.7346534441314749 +-0.8576429562244471 +-0.6170719384398687 +-0.04885899831397744 +-0.18621539348243354 +0.7567869416197277 +0.1581226604617414 +0.42711741020565697 +0.7234284918175016 +0.7245461912619491 +1.0489620659389771 +1.7651883727538915 +1.2637049051613016 +0.53403257056937 +0.9719152286608148 +0.974401789828139 +1.4215327739731054 +0.6169892664527128 +0.38100323097273103 +-0.3071094456421458 +0.5860877436498443 +-0.06650519583488979 +-0.09509300693388512 +0.17011973636988098 +1.0153088245689665 +0.4912642032818575 +-0.3570021064039923 +-0.3973297955662144 +-0.6203636471152492 +-1.0581280997709217 +-1.942996209741395 +-1.9010449332243922 +-1.6237274851218675 +-1.0814410280528877 +-1.1230398845689415 +-1.941400832578543 +-1.7857716085864626 +-1.296244646027568 +-1.5375256113512386 +-1.029931495836802 +-0.2904044789675344 +-0.19756391180356903 +-0.6703305581070506 +-1.3293108990438305 +-1.0389131152592574 +-0.651762673093337 +-0.6122772335144362 +-0.8545660822598619 +-0.7868457070666804 +-0.3001178749360084 +-0.2317262590032091 +-1.1125071839571814 +-0.9934014351797242 +-1.8574549270872 +-1.5077734234273703 +-2.0005442112950282 +-2.80864017104874 +-2.3732787695139423 +-1.9819966327197267 +-1.9819966327197267 +-1.7924366752252374 +-1.6726269053850065 +-1.1994971209543763 +-0.9298675223848276 +-0.5801521735198392 +-1.3482235517866565 +-2.281957994464711 +-2.281957994464711 +-1.7768050519014054 +-1.8497718236316998 +-1.4761631297282891 +-1.962718080849558 +-2.1340696994289114 +-2.7782607454949924 +-3.509965902193356 +-3.3417008501534737 +-3.5719041867270476 +-2.9237301202188766 +-2.0385341615928274 +-1.6690040451697772 +-0.9850281580111615 +-1.1950784368133855 +-1.156530391988707 +-1.0951557589179683 +-1.957051162750477 +-2.0184580300605397 +-2.0184580300605397 +-2.1705587593358318 +-1.4962931179477565 +-1.7900335816981081 +-2.285039413229796 +-2.8065724894825563 +-3.0891669760646843 +-2.6583247887212185 +-1.8115401491387944 +-1.2298788909928813 +-1.921175705688006 +-2.2078184913728482 +-1.9415394952621146 +-2.0188848252240574 +-1.6417815185424232 +-2.467037665821052 +-3.17524607999013 +-3.17524607999013 +-3.720734945399597 +-2.798493677532283 +-3.0920044976587167 +-2.6006786635904793 +-2.6006786635904793 +-2.545944585211058 +-2.7381042453720195 +-3.3621392088109223 +-4.026487538489111 +-3.2375901379025396 +-2.8389645956158027 +-2.676130558440261 +-2.676130558440261 +-3.5107143248279264 +-3.877290258224254 +-2.9005850833925084 +-3.593670689538496 +-3.593670689538496 +-2.7516031115219253 +-2.836955060570263 +-1.9160206817803238 +-1.3029138474520443 +-1.0143386379925825 +-1.0721025176741428 +-1.2118925331391681 +-0.9343040201291835 +-1.230320395193067 +-1.1071953104087648 +-1.1114374275277301 +-1.62468095026971 +-1.1295422963052995 +-1.2222876251346415 +-2.0341067141481313 +-2.5969902972785865 +-3.51467500652348 +-3.821619895879564 +-4.691490708884643 +-4.720695463087192 +-3.8010505173528153 +-4.106273451440462 +-5.1021325856640125 +-5.0175148628582535 +-5.387151439511896 +-5.399385043178259 +-4.718803108765923 +-4.6353927472861765 +-3.9189474407978295 +-3.274451643080806 +-2.595763393825755 +-2.9026630253832346 +-3.7046258023107264 +-3.4349973236654154 +-4.243899394797768 +-3.352799169949039 +-2.487610013557826 +-3.3233333444716555 +-3.7496403498850426 +-2.8991772915149703 +-1.9102595804540818 +-1.806384749687152 +-1.0419654276509962 +-1.8689800326796984 +-2.0784799420125983 +-1.6958749959080681 +-1.7874763852373592 +-1.8324584819905056 +-2.304791013709914 +-2.11425620531201 +-2.539066854399488 +-2.4314071699034026 +-2.976974257375193 +-3.1651485764947846 +-4.130493060463829 +-4.157767929922013 +-3.970903666785314 +-3.8640891343948667 +-3.360970557871907 +-2.798690478263052 +-2.798690478263052 +-1.937255045860567 +-2.5923876568344024 +-1.745317341629881 +-2.061491122485352 +-1.5002186977050682 +-1.1524006708312475 +-0.6086867270966612 +-0.04693796875934719 +0.6611421609261687 +1.3068218819428008 +1.5113475786669874 +2.1513472102851026 +1.3298729495265451 +0.7388023735314695 +0.6101222875615738 +1.0169452973423283 +0.2825486849654697 +0.842850372904697 +0.4046568134197731 +-0.36011255629138283 +-0.5968095159413507 +0.10201630394675387 +-0.8818694494096728 +-1.693577242973538 +-2.1196245331757066 +-1.3184374018087213 +-1.6826120192134102 +-1.7951905969783128 +-1.411516328069823 +-1.137509923905707 +-1.5743634453194728 +-0.8516900442402098 +-1.0144807174542216 +-0.462835061361905 +0.20134707517609884 +1.1925287101300528 +1.3272750101236652 +2.0152701949003493 +2.0152701949003493 +1.6211871453469917 +1.515860098564353 +1.2895116389690173 +1.8723951527873182 +1.5331229345149127 +1.5331229345149127 +1.6651704317665066 +1.5002883869021573 +0.8013447946747958 +1.456261073035351 +0.8967444583119655 +1.453881055096259 +0.7983656008679785 +1.4476297644217198 +0.7811310092759003 +1.312019357353579 +0.6493871047050119 +-0.1664653077966507 +-0.8850005207419476 +-1.1280033673473446 +-1.0771508619871106 +-1.0214023733250674 +-1.381258088430347 +-1.5802717483754356 +-1.1929878689712903 +-1.1929878689712903 +-0.4932960606378012 +-0.007938899260914178 +0.25189062322100586 +-0.6411366421960161 +-1.5806741447199628 +-1.658149390581726 +-1.6626379234925182 +-0.923863622563468 +-0.64247262803881 +0.27417932288885627 +0.2652447049440342 +0.9959159856116512 +1.3011041306626163 +0.9509264032413446 +1.0592498580739922 +1.6857890929105612 +1.1862818930051864 +1.4747040845376935 +2.291800495825994 +2.24304919283291 +2.0237570957413635 +1.8694196552676279 +2.415577487518285 +3.0466032327710275 +3.0466032327710275 +3.1215752006490916 +3.1888964513242826 +3.175236421592069 +3.4386418474508416 +3.2352168736688833 +3.888018712519015 +4.092280789234812 +3.6591930246746904 +3.1912320083893784 +2.7248291048251727 +2.793503924359957 +2.287614384956005 +2.844108187491573 +3.8032452140529953 +3.5109365178920355 +4.416417005961826 +3.5719982539911586 +2.9283570064109217 +2.231379112743368 +2.153250791068884 +2.353804065582061 +3.1215832711161933 +3.60433508189866 +3.41607038808063 +3.6035374367158273 +3.078795531953781 +3.980005763367717 +4.647627496057066 +3.8179661568116794 +4.254648342146532 +3.677019274208817 +3.2494044165984253 +2.414650373780484 +2.9412029844729473 +2.7466876591334235 +2.343079551176424 +2.632142943770634 +3.1425300664976428 +2.358590406589176 +2.7549531727173484 +2.7549531727173484 +3.1004760496243455 +2.812586080879595 +1.989706795738722 +2.011502085190025 +2.652722749516985 +2.416725238296965 +2.0799894166512076 +1.9536667192313852 +1.9536667192313852 +1.9179655281333163 +1.8575573642234193 +2.3164934229511585 +3.253369733311229 +2.9517764373626294 +3.248932566315194 +3.005219902761915 +3.2182874219745976 +3.529048026811581 +4.115430557181498 +4.227831707191194 +4.227831707191194 +3.8538325363331656 +3.0562503040349016 +2.337146248752429 +1.7863954694892044 +1.2615143883701576 +1.4232633112110897 +0.8558435751227682 +1.106463027150807 +1.8407673305974968 +1.6857320459709535 +1.6857320459709535 +1.9663397459319465 +1.9663397459319465 +1.9566761968265647 +1.2679475200795582 +2.0110338088870607 +1.0667850529290765 +0.3303744605727579 +0.974493549647675 +0.25822081146635356 +0.32710651912202393 +-0.42222467795940455 +-0.5538993281005279 +-0.437258924383941 +-0.4014971492001186 +0.07763577130532473 +0.04208976979582224 +0.840555138017449 +1.6654413377424673 +2.3394521705115543 +2.6395051694476814 +2.821567327768479 +2.0160021696835386 +2.6848684651109638 +2.5122143898885345 +1.884744203361079 +1.076707260240367 +1.6009785381640973 +2.2385803291079105 +2.8852961462818225 +2.06849169809459 +2.2802355010421307 +1.8295898826978858 +2.2215580435310676 +2.6105782989966624 +2.226946985796908 +1.8339047643279165 +1.8321718044984125 +2.4936877330438927 +1.642364767501207 +0.9368900186656761 +1.8890400644324956 +2.6094650210403847 +1.8114956296362663 +1.8114956296362663 +1.614784995305285 +1.4983609154120612 +1.0121846992311636 +1.2450182949655912 +2.2252031580889065 +2.3482138889027704 +2.201536827432174 +1.4958812524764864 +1.3465478337535806 +2.3276991268784863 +3.122858434877174 +3.1359210821279273 +3.552279349924432 +4.244351761457457 +3.482370425393685 +3.2807940941473306 +3.4360385724738585 +2.7266818200331544 +3.3788815061049102 +3.916209879434306 +3.508304819409593 +3.439839124463598 +2.9218128491326993 +3.6093923844790927 +3.756024325457639 +3.21697608100404 +3.133472390190157 +2.829752977663205 +3.171874491749781 +3.171874491749781 +4.132591737808583 +3.425747604691795 +4.201348059887658 +3.484152231092618 +3.6418542832631893 +3.9229615297040783 +3.902169714685369 +3.2160769671292706 +3.410677659118237 +4.2109488236110675 +4.147517457508069 +3.1561472894865927 +3.4928903627626493 +3.8698554177741125 +3.112577181305382 +2.7973913949815223 +3.0459423003369097 +2.84152985295993 +2.5203589578036243 +2.065602745586889 +1.607203360664132 +2.1820102697709407 +2.8366800137985524 +2.626164274047915 +3.045373163008746 +2.627612073507871 +1.9950092219534603 +1.5463349815635294 +1.3822879783714557 +1.5537465497174288 +0.9365600594690073 +0.10324444983707903 +0.4965632173785943 +0.5308992320726753 +0.9817303453310566 +1.9723229096077075 +1.5919329031312648 +2.1481955454619985 +3.036025278667217 +2.188400562120134 +2.8781155924965356 +3.2011902624257957 +3.2011902624257957 +2.6247064181038615 +2.0564665616914786 +3.024297576014293 +2.8074758083026508 +3.748237114920901 +4.527773850813325 +4.527773850813325 +3.5917688594778316 +3.214951289095387 +2.626750656283619 +2.616853086349761 +1.641148311177289 +0.788163032813957 +1.1883070711860682 +1.0697860927194505 +0.10888464876483117 +-0.7832990366675374 +0.03942373195875759 +-0.2972626754496467 +0.009231043326405008 +0.8512567480863716 +0.7389132541439132 +1.5053797312901451 +0.8425347875354856 +0.7221141128163303 +0.10745988301119647 +0.9160550308125254 +0.9160550308125254 +1.4520224669111808 +1.2538515424001373 +2.162722471950451 +2.941944919760217 +2.435361880852894 +2.21088911711089 +1.433349091193058 +0.7191549546970484 +0.44237312364079384 +0.7288784880028295 +1.025478647545961 +1.2936439217527214 +0.3289299029807706 +-0.6415510346174773 +-1.4352336180191363 +-0.4988036207110085 +-1.2012834707648972 +-2.0209150848072026 +-1.0782786564331583 +-1.000907698570298 +-0.8402521153271416 +-0.2698341851227384 +0.30596283493718723 +0.6526273212433726 +1.1530789076857046 +0.21069537353714285 +-0.6529868643317496 +-0.3603208267023925 +-1.3063815874729192 +-0.6592591505031842 +-0.656374458730177 +-0.6119635838968573 +-1.3506604903115758 +-1.7638396539262606 +-1.5728365209108988 +-0.7117127375017802 +-0.658705851526159 +-0.35153497736979067 +-0.9467090375723135 +-1.7959064478158668 +-1.849111772589536 +-1.5821391504383329 +-0.6337472683921577 +-0.22621444408166158 +-0.43990150785955373 +-0.35470721432727237 +0.6320438404881136 +0.3284991712856391 +-0.40127411384332423 +-0.8595471792328021 +-1.1671525825815863 +-1.9424919045014546 +-1.9424919045014546 +-2.3397760421506604 +-1.8055856062872482 +-0.8265657211530908 +-0.7427014395596556 +-0.9251345140187507 +-1.7354453821483236 +-2.0283693093745816 +-1.4485375548887545 +-1.2920219571404463 +-1.0790881481726642 +-1.5822221330926878 +-1.841010912523811 +-1.5336839481260438 +-1.5336839481260438 +-2.1569729721056294 +-2.5642760690202007 +-2.155013031354347 +-2.0704631016142465 +-1.965308061883657 +-1.965308061883657 +-2.197696013883067 +-1.9467291595621277 +-2.2683275258925297 +-2.2683275258925297 +-1.3854183097646289 +-1.5858481062412242 +-1.4307540906764236 +-2.160104303615409 +-1.8592407089385727 +-1.589227705510597 +-2.3324354604105975 +-2.9072510288475715 +-3.5383679408656166 +-2.6770058082287447 +-2.474143672290971 +-3.385113156031723 +-4.236520470211755 +-3.381498177925491 +-3.8653145673790354 +-4.660377036757215 +-4.015859673537502 +-3.0903087190900997 +-3.5806161599627364 +-3.738520975315759 +-3.738520975315759 +-3.235065368104636 +-2.404219543042511 +-2.206239046017247 +-2.9898951497134165 +-2.3639530985424946 +-2.247393266336644 +-2.8443989379341765 +-2.2020107432108174 +-2.482354856521133 +-2.980042268358995 +-2.6242558610473408 +-1.6521121655442739 +-0.7573045770842284 +-1.4470414299238472 +-2.267634906847475 +-1.6871128602801824 +-1.9423041485169388 +-1.4751234230057102 +-0.7016958541623404 +-1.6319347313750656 +-2.0021309012620714 +-2.9340243942047106 +-3.787277065705199 +-4.460141006832516 +-5.444652105184924 +-5.631460246917782 +-5.9497523606129565 +-5.5445604387490715 +-5.175660141029332 +-5.228323996421462 +-4.9955276256112295 +-4.760458268597296 +-4.302388911104744 +-4.302388911104744 +-4.302388911104744 +-3.7560873789357405 +-3.7560873789357405 +-3.3163103356001753 +-2.789414229129225 +-2.789414229129225 +-3.4195672127025443 +-3.715521088442908 +-4.588620433274758 +-3.8612352314636786 +-4.403094682144976 +-4.423385243799534 +-3.867695279256391 +-4.546796241553106 +-5.344616577806285 +-4.757490988236686 +-4.789969151315781 +-3.8623319658030146 +-3.077750695708101 +-2.748120402164984 +-2.89408982022866 +-3.2957683376480174 +-2.7027700442702276 +-1.9396019069836952 +-2.672834946107828 +-3.1524127394867607 +-2.993295938243074 +-2.5137284864761162 +-3.204456886190031 +-2.5428050925086483 +-2.5813890603961496 +-3.1574560035998696 +-2.6070994570146127 +-2.1107020614040053 +-2.629088201758339 +-2.144565557763432 +-1.9262167302702973 +-2.520840106154189 +-3.128894791957964 +-2.4604787323187765 +-1.8905824457687719 +-2.227946370135154 +-2.9624585765050586 +-3.861015053844135 +-3.5572792790852805 +-3.82489621583076 +-3.2180514908826447 +-2.3555716285223753 +-2.1393780935635798 +-1.1509042247637287 +-1.7466904255725877 +-1.8194496282297954 +-0.8333574410394367 +-1.297670600948678 +-1.4252046097642292 +-1.4252046097642292 +-0.6992626921989837 +-0.3639456082742787 +-0.3390538017130209 +-0.4388102472801402 +0.17115697080877468 +0.1760082771754231 +0.2280527213585456 +-0.3286031581709793 +-0.5502577806030087 +-1.0975496649240402 +-0.7885046501413091 +-0.042957124585430995 +-1.0409420285272972 +-1.0409420285272972 +-0.6180403844486977 +-1.062220814657488 +-0.22447784787871106 +-0.7471485550929773 +-0.8959827913335393 +-0.6352775763457273 +-0.2572927912527202 +-0.09341299001572823 +-0.24970701272462814 +-0.9813347212119439 +-0.9813347212119439 +-0.4862838834365475 +0.3314311541950854 +1.2185818954269294 +1.1342358691160115 +1.0221910739125488 +1.229346357736621 +1.4420460969671984 +1.404159714343613 +1.8829603512737416 +2.2254641650613296 +2.444480526250313 +1.8648660089381686 +2.635302548021043 +3.3540436236520863 +4.25503466432256 +3.3310368222538016 +3.3310368222538016 +4.280832703206852 +4.280832703206852 +4.533685456947241 +4.222725065717379 +4.367038767482043 +4.057446553229946 +4.257155806706203 +4.840804448247663 +4.157016348120278 +4.157016348120278 +4.157016348120278 +3.2604148007942397 +3.9951817466848167 +3.735654295636825 +3.2093498712900352 +2.6775763166205504 +2.675383211979118 +2.352121345652386 +2.951817937028612 +2.097299804476078 +2.56451952226916 +2.170002730375855 +2.738466272346753 +2.336814741139541 +2.004719053033159 +1.8894393133675331 +2.5001015291286866 +3.013710934953842 +3.5299736747143458 +3.0000759059732083 +3.0000759059732083 +3.4648922319776023 +4.358434400299631 +4.471789022313556 +4.471789022313556 +4.759971828248546 +4.736022279227442 +4.5775227806544185 +3.602587821026564 +3.035193209290025 +2.387763476992947 +2.5680843355489085 +1.93151039729031 +1.2879349756577736 +1.1711928248244239 +1.3361923625698462 +1.0034810941847838 +0.6959133186916201 +1.261829151277893 +0.29953206523793563 +0.2315864926830017 +-0.08474470607124007 +-0.6694941509315424 +-0.4078847696791035 +-1.3771696391821615 +-1.81250351688672 +-1.81250351688672 +-0.9296990571165318 +-0.37784589272409264 +-0.8485315042835974 +-1.7908252202662744 +-1.0339436890310105 +-1.0797390521389967 +-1.5805747958384118 +-0.9666635495873097 +-1.345188164311594 +-0.5038084338557471 +-0.4497314727619308 +0.11886996476753664 +-0.12004604115562334 +-0.6396625921808271 +-1.0071026613633058 +-1.4990044027079095 +-2.1687012434892807 +-1.9749785264281827 +-1.7660454487979276 +-2.688355106227946 +-2.566227939095033 +-2.915978450145415 +-2.0506437220650016 +-1.9245439581860937 +-1.1128896763191871 +-1.5908879539224263 +-1.7193368048586266 +-1.1602160824424712 +-0.7051464769398941 +-0.214955018044513 +-0.3671981085597146 +-0.03819830854186834 +-0.21744334108109054 +-0.6650251548513683 +-1.5755271573732181 +-1.5818955169805022 +-0.947798195173327 +-1.194068714679032 +-0.3126524964286901 +0.0042323156589616495 +-0.4553260830680753 +0.3794262449481033 +-0.5673251644415515 +-1.1621009968842766 +-1.2474449663828646 +-0.30441309775718595 +0.47453620179071554 +1.2520690236252905 +2.0553601709527034 +1.9838239831366322 +1.6732646044286876 +0.9477286795003683 +1.204785586304247 +1.547533784405593 +0.5507854203320279 +0.5265146832206454 +0.5265146832206454 +-0.3887808880743854 +-0.3887808880743854 +-1.2596816551173928 +-1.9142584302557832 +-1.8108763578899558 +-1.1673471804092292 +-1.1673471804092292 +-0.2379905549405572 +-0.8038022924184676 +-0.7515512286947819 +0.033191191524122976 +0.6059988354067092 +-0.028153854269304945 +-0.7280348560916243 +-0.7447742219865646 +-0.32352831705344876 +-0.7198786351075885 +-0.7087980159900662 +-0.22949500446233184 +-1.0519465722194636 +-1.0757777658839807 +-1.126313552395676 +-1.0164019843639323 +-1.0859523155639055 +-1.1448670867961348 +-0.6859887184563398 +-0.5979233475514067 +-1.1021228611524228 +-0.2978886209745615 +0.17244384371179033 +0.34063876124170056 +-0.446867361966262 +-0.7971433606229915 +-0.5889911271351026 +-1.2356822991916072 +-1.1352216724162405 +-0.14019093907332736 +0.17661636022337368 +-0.2653973625283724 +-0.00042566686828926503 +0.44263681301668545 +1.2180462820910654 +1.883798937053685 +2.0535332031168414 +1.8126463640896406 +1.401983134537275 +1.402134228035312 +1.2429606375239333 +1.4603753953589924 +1.914735357353227 +1.7124771430384134 +1.7124771430384134 +2.594182335555635 +3.5501892395896224 +2.6696828807066098 +1.8023891209831353 +1.3491874485743516 +1.5038598801441878 +1.1739319831084365 +1.192892994512889 +1.6748450091203952 +1.0600179761218769 +0.6892930158104477 +1.3509747898804165 +0.987752647190912 +0.987752647190912 +1.8021354219907373 +1.5485436938751391 +1.779478779254405 +1.3780216226944244 +0.7298067850542125 +0.38644013294100465 +1.233758630721022 +0.8759579246884209 +1.4468996769480853 +0.8273082985784346 +0.8273082985784346 +0.4107105855238501 +0.6255686656640481 +1.5402143572587068 +1.8719736637351485 +1.764266936503664 +2.319982502475731 +2.161579010534502 +2.685037388528165 +3.1512520471119485 +2.928998669024348 +3.313617871794921 +4.248423555184271 +4.0576156629935225 +3.327807451107838 +3.4957199635378675 +3.0186138307583894 +2.927552483717034 +2.355403808686234 +2.355403808686234 +1.8342704051197078 +2.580902774056681 +2.7550542523876382 +2.5002287789196846 +2.016481461351709 +1.8974761707658607 +2.888045135745286 +2.516589643368871 +1.9807878430494466 +1.4723063988492175 +1.1610742116092103 +1.9272320480547263 +1.4962358623951926 +2.3419217694251246 +1.3879091264431094 +1.8620222075109591 +1.9570016812051927 +1.1055479139915287 +1.2508780403092938 +1.3392397802500626 +1.8805140268030234 +1.8805140268030234 +2.399303609461298 +2.0294989087512865 +1.4505690457125007 +2.3050291624116364 +1.651501190071708 +2.6356560573711487 +2.7840444103301376 +2.797514065372387 +2.797514065372387 +3.1794968033190267 +2.444262191841087 +1.527994686266619 +2.2084928292925614 +1.9789513128581588 +1.3062892030732651 +1.2960036936990855 +0.7458280900289285 +1.162622541129248 +0.8418072143039542 +0.23934850539099173 +0.4948967464796049 +0.17478094099675312 +-0.4973798676449612 +-0.4973798676449612 +-0.8324398022064069 +-0.39332702000064745 +0.31018610346572084 +-0.6471687927734694 +-1.2936281673942216 +-1.684922216775886 +-1.684922216775886 +-1.19343320584599 +-1.2206185087003374 +-1.3697609686174 +-1.2695631813821202 +-1.427816057305142 +-2.118007279731279 +-3.018463425263782 +-2.9773607404578737 +-2.655370740318305 +-1.9193472626493362 +-2.113437096982216 +-1.6711661510577054 +-0.9589671145661811 +-0.8286839334467615 +-0.5498604492602248 +0.22894809964806706 +0.3583055096764818 +0.7076383340559036 +1.6514571703254477 +2.643850095246999 +2.246760726373455 +2.6032805531750745 +2.735622053816696 +2.9115044553136338 +2.126297237679408 +2.1469455509996243 +2.1469455509996243 +3.1158275624090637 +3.824881422624463 +2.8910930905765126 +3.2813785599344296 +2.47399495113322 +2.8955782994056616 +2.8955782994056616 +3.2248045729157875 +2.4504834330120144 +1.6241316693328023 +2.3451623038581584 +2.2958250651737626 +2.181969715141539 +1.5469107555616528 +1.3481285277879658 +0.4507454594663576 +1.0965089676226902 +0.17372806107148642 +-0.2338310241441629 +-0.8806463005513111 +-0.043940755532766995 +-0.9459716450186194 +-1.8799176847268586 +-2.1010922776391894 +-2.019927897272662 +-2.5779341248829457 +-1.5815955347524797 +-2.175164285925793 +-2.000613222605926 +-2.151729166976259 +-2.151729166976259 +-2.1458203275916485 +-1.1689030939972829 +-1.5564886553908543 +-1.5564886553908543 +-1.2339130600673807 +-0.6628024238870514 +-0.22481844321420863 +-0.6025969378084276 +-0.19432077205915366 +0.5296364598912483 +0.450686011209285 +0.1470670445032075 +-0.6158854278715283 +0.06650765857888874 +-0.016167049414736345 +-0.7843211205702001 +-1.3548298036080118 +-2.1894840385960395 +-2.47166668403834 +-2.589431336833385 +-1.7272199140001732 +-1.9545162125658564 +-2.099636158171836 +-2.2772287260018604 +-2.117258501552646 +-1.5902145796980813 +-1.1342337731855352 +-0.9987456616322354 +-1.1878870975103895 +-1.8435324937491209 +-1.9654440932369068 +-2.213478352358042 +-2.996956261279727 +-2.0221145204657 +-2.59458069016028 +-2.711294361900908 +-2.448590216155475 +-1.5099175325075413 +-1.2861957546713974 +-1.2352304552105517 +-1.2178580439259583 +-0.9336308466084358 +-0.08057482614809897 +0.4811156298815018 +-0.15842774667931314 +0.2747500364255091 +-0.465454610403097 +-0.9660899883080658 +-0.8114422541745214 +-1.5777493402296798 +-1.6372563909546303 +-1.177161366447329 +-0.8161594463302808 +-1.5428592308673834 +-1.0595408512951687 +-1.0162884276830573 +-0.6038235842342528 +-1.1921111103509698 +-1.4902705764150825 +-1.1452822671117868 +-2.033729608439392 +-1.1240682186200137 +-1.0435910459618516 +-0.9373554771953838 +-1.8511474330837154 +-2.799309087380506 +-2.799309087380506 +-3.34451424770345 +-3.166812673576728 +-4.059509239276885 +-4.426215769027825 +-4.426215769027825 +-4.045280024904677 +-4.730278939610251 +-4.109009833293374 +-3.8518147939437317 +-3.2462123686663618 +-3.7486737812955817 +-3.796587720247077 +-3.937179542966677 +-3.4841380410471547 +-3.33839723861516 +-4.114123253267303 +-4.5389650417100595 +-4.51353448653882 +-3.534848120144832 +-3.635503962600674 +-2.697500291966332 +-2.3242026582004485 +-1.3417364227584845 +-1.3344920354433407 +-0.9045924679016384 +-1.7364849348216358 +-1.8490893325029845 +-1.3856689000817373 +-0.5979267154093697 +-1.3481179465714526 +-0.8396771048461407 +-1.4086763275579497 +-0.9309609568068729 +-0.826674594338507 +0.08930955482076919 +-0.54557893770836 +-0.45354387585617006 +-0.9828289574761444 +-0.6056058981555947 +-0.29828265544636445 +0.3425162971819635 +1.013076315822204 +1.8758067157708012 +2.131380170734504 +2.6180307137884498 +3.1395827157715965 +3.8655182650153432 +4.608418372990786 +4.608418372990786 +4.101231691441864 +3.5460979631364635 +4.357873230528478 +3.7673806330182704 +4.110474622730995 +3.8161805249666205 +3.9146975942174818 +4.597458934480198 +3.6475090086515465 +4.13065809213775 +4.800256590890584 +4.1007132527667185 +4.731970366139543 +5.423173584574027 +4.9408250858639065 +5.011524759018229 +4.759532477254478 +4.669238573897456 +4.467464168646208 +3.9100249911244536 +3.9336948452974605 +3.3370983361085855 +3.1983353537296817 +2.572133302375759 +2.487492907889669 +3.200963717674819 +3.8085152941458045 +2.9996010805324067 +2.1870431597644275 +1.2248255854766514 +1.3971488115652764 +0.7828358298178688 +0.20786930507432722 +0.7750652062566898 +0.9214265292238866 +1.1724120480285138 +1.6292858320816344 +1.893558829715363 +1.8344970011526618 +1.642579042023327 +0.9765323007302913 +0.7244799238304976 +0.0029134284331834293 +0.7794297398903386 +0.698438194470189 +0.6379427117875484 +1.2862238886723012 +1.1947387511195204 +1.7832072570301607 +1.7832072570301607 +1.7832072570301607 +0.9463157336793615 +0.7557635540885884 +0.5698300674077659 +-0.24225856482381558 +-1.1934958585425852 +-2.090527142875633 +-2.72898635345531 +-2.031098721560493 +-1.9489441899895394 +-1.0382087848457986 +-1.2632455409743262 +-0.996126707167271 +-1.3641453323298736 +-1.8244850725529727 +-1.8190923635256393 +-1.6946675465480197 +-2.4140188723127833 +-2.8866015742663134 +-3.0941994697397477 +-2.525340852465748 +-3.079081305759656 +-2.1311213250992695 +-1.3477498264543275 +-0.6117229492958156 +-0.03590998554744984 +-0.9616467029454492 +-1.2851799048782229 +-1.2749275434227063 +-1.3172514244625808 +-0.9014116036481465 +-1.4025468288683198 +-1.7749622690076978 +-1.475211544514316 +-0.5276607001046343 +-1.3580465003130062 +-1.9088574519065513 +-1.882594438770606 +-1.1966962166300907 +-1.6130589559373725 +-1.4046287585803687 +-2.1515311641858412 +-2.1515311641858412 +-1.2501269354852396 +-1.5618686192544318 +-1.8923341799860292 +-1.8139195539243038 +-1.1713349407167044 +-1.5855493440096984 +-2.3781309010741993 +-1.7014260215875816 +-2.009325997244921 +-1.1428038202687807 +-1.40344498581499 +-1.2177273445967876 +-1.2466427559494737 +-0.38209099018579873 +0.2492510590961794 +0.8784946028174141 +1.6035098902499108 +1.6035098902499108 +0.7189885472612458 +-0.1246826925943858 +0.7798664987877848 +1.2547955836476075 +0.753821427684787 +1.349641557166048 +1.1461817483538619 +1.2012050155689158 +1.513033786109776 +2.006831611624979 +1.8385613846418165 +1.2464808928617086 +1.1407954295777696 +1.658979040912696 +2.028720154617379 +1.5360727027021253 +1.4555790980746304 +1.3545012941183616 +1.9674865788556668 +1.1649064499356152 +0.8602870810782653 +1.5689533090256487 +1.3130803748441373 +0.9518109756923389 +1.8494109625694999 +1.6435578660163341 +0.6527261917603517 +-0.012137053314666968 +-0.3555528783862424 +-0.041215239282653804 +-0.20680926971952895 +0.41203872398041375 +0.23297847860874776 +-0.3192602503110481 +-0.829432556704644 +-1.5958893352302743 +-2.345821715086203 +-2.3696820444384947 +-1.4899103258868822 +-1.4519162625232538 +-0.5526632285961666 +-1.1282244293130546 +-1.3755447167377106 +-1.1746255375249848 +-1.491825491807857 +-1.5294215659360342 +-1.5294215659360342 +-0.6473991760474798 +-1.418451433086483 +-0.862360518665384 +-0.5346808270214443 +-0.2370768583570586 +-1.0423645335394995 +-1.295574939350491 +-1.295574939350491 +-0.5255168476443326 +-1.4070349024219138 +-1.6373123273283317 +-1.5146562727576203 +-1.5146562727576203 +-0.8594048508238843 +-0.8133539022761878 +-0.2016069845721542 +0.21861630843482627 +0.6063225306108875 +0.3781979348994663 +0.18808220163147138 +-0.19261754025736033 +-0.5911951991074829 +-1.3263541218575865 +-2.1660876118432824 +-1.2600003139978124 +-0.3242693084841193 +-0.3871022905045848 +0.23126132412526224 +-0.5640728616926579 +0.10059536440721362 +-0.0001872724165694617 +-0.3025088956703684 +0.3727773736977683 +-0.488896788782765 +0.09343087083530277 +-0.5959358204176141 +-0.7886317124147035 +-0.1808168914326087 +-0.18337611354206118 +-0.4312008809717529 +-0.4624681981554558 +-1.051935132639131 +-1.827185161276292 +-1.2026484309835908 +-1.649666434723156 +-2.073373835722532 +-1.9446194040387363 +-1.1821508238561311 +-0.3801142288189676 +-0.37732054437690765 +-1.3706844305280164 +-0.8602742925298521 +-0.6429911355899287 +-1.0482544956742292 +-0.8580234594345486 +-0.08667829239267233 +-0.7546312388196832 +-0.677392840556684 +-1.358119327232555 +-1.279182133792678 +-2.035180477479842 +-1.6320921312079235 +-1.4895980071378228 +-2.222301600012848 +-1.2372385310671181 +-1.9485829136504906 +-1.8459974947094986 +-2.3448908845725174 +-2.870319880294513 +-2.9474015281512633 +-2.555310803175548 +-3.3982867090516162 +-3.047975018999091 +-2.5246173504544744 +-3.348995488609846 +-3.698898042637751 +-3.074840385820538 +-2.534184385921926 +-3.029682810291049 +-2.1965974306123215 +-2.32483030402239 +-2.309939216625578 +-2.309939216625578 +-2.830820551719238 +-3.6968670380877873 +-4.4844725612808976 +-3.9894058817335933 +-3.1342264251199166 +-3.0672549652345698 +-2.967021479305237 +-2.9397388589792115 +-2.04554628748428 +-1.1773682327552004 +-0.6806221085652386 +-1.1882634812461725 +-2.004763483478622 +-2.170987224976877 +-1.9517482194578528 +-2.700483578419523 +-2.147828705505802 +-1.2386483588002561 +-0.5981460572047748 +-0.6250086961763331 +-1.4350267845279765 +-2.007557355627906 +-2.525332972319508 +-2.2596844067052437 +-1.4630274796401828 +-1.2575417314984854 +-1.2230979103143393 +-1.3837321571336139 +-0.959141260823253 +-1.9560706121724323 +-1.2144966766687313 +-1.3065113151167078 +-1.6676813609577459 +-1.455549330081187 +-1.503841927151921 +-1.8882587090583942 +-1.5863471597147474 +-1.9070735878275276 +-2.570005496685498 +-1.718636548911327 +-1.5881315666982012 +-1.465272456661548 +-1.6142968180289157 +-1.9524651049559956 +-1.290883873778402 +-1.863129759009357 +-0.969251350973934 +-1.6943690628631551 +-1.4632773837034836 +-1.38229947673591 +-1.0388600159176924 +-0.7191882738574251 +-1.7084845125748978 +-1.9189922213863757 +-1.9189922213863757 +-2.329431721061133 +-2.6575315603647462 +-1.9540530035718406 +-2.2182828219137445 +-2.2182828219137445 +-1.3200588068111196 +-0.6620730690777215 +-1.5225783648093574 +-1.442173282962021 +-0.8182406223727212 +-0.7029311721271441 +-0.32666024342652533 +-0.7209543750410058 +-0.8308941775420922 +-0.8620816521722742 +0.07726844662267751 +0.03486090099253758 +0.8321422274560155 +0.21831965742685822 +0.18727146168488462 +0.09948261606781772 +0.2026580040472472 +0.24081630895327422 +1.1069038093931187 +1.7137771008003035 +2.09925291397537 +2.2936178862344225 +3.1773358399659215 +2.72149581519098 +1.9432148599580883 +1.8972311669859598 +2.4262755946009245 +2.4262755946009245 +2.642906137526 +2.1685964399489155 +2.1552481325468444 +1.5670890751055027 +1.580693553832723 +1.7129744322134401 +1.8233188683424344 +2.2172941049653456 +1.5619710682504004 +0.9504594043297341 +1.8349134506888487 +0.9046749716104969 +1.5646207815372484 +1.8100489116500507 +1.773901299275221 +1.773901299275221 +1.6330708823112379 +0.8001682460509176 +1.57505556701572 +1.2117049593197446 +1.2742897321473567 +1.7073962330460477 +0.8263536431866725 +0.7048648158016141 +-0.2796225549148409 +-0.15673166236579406 +-0.2573468305608895 +0.021686474099942954 +0.2355664072988115 +-0.22950272687707807 +-0.35193494889459087 +-0.75709533896534 +0.21337961535165617 +0.25040782745309753 +0.15656543903427123 +0.8347229993547698 +1.3870832084121156 +1.9622356897989843 +2.6664169279544683 +1.9189516253643883 +1.4594674098543186 +0.7054761118572601 +1.1006852939965983 +0.9589673616939488 +1.8442862968255382 +2.7790702680365724 +3.5030555585494216 +2.723817721637807 +3.1189349353380735 +3.4211195132513916 +2.664800208311477 +2.4080767541790595 +1.7286107374437518 +0.9835722000733895 +1.1242018386768247 +0.5888279153210871 +0.47726364706886437 +-0.058116804583929205 +-0.3578550050414786 +-0.08121145465185653 +0.27617534897181195 +-0.7092792113454531 +-1.1739500378465944 +-0.3237973288342768 +-0.3049769653599017 +0.5370080790207203 +1.3968043892010271 +1.3968043892010271 +1.5230855820117633 +2.471294009147873 +3.141601891756066 +3.018353942153854 +3.3509907556508782 +3.077098100167707 +3.449911171324021 +3.239794836339456 +3.9342975556595325 +4.308647507196728 +4.375981058790424 +3.786197467417069 +3.786197467417069 +3.786197467417069 +3.2175808566102084 +4.156941687869993 +4.156941687869993 +4.0561393178252 +4.9032637715779535 +4.9032637715779535 +4.772638108935926 +5.625724440804193 +4.786440799032282 +4.786440799032282 +4.786440799032282 +5.223822742476561 +6.03435569887402 +6.19777777560017 +7.012609480891455 +7.117028322574468 +6.332711144015584 +6.332711144015584 +5.910261132205885 +5.148116913274766 +4.264077457221196 +4.341888291157663 +3.713062668067942 +4.526056216158853 +5.178679900084994 +5.799867810779961 +4.89336609914265 +5.014636611421352 +4.174573827328492 +3.6742218378377247 +3.6742218378377247 +3.969074388092899 +4.715799384418329 +4.632313758310928 +5.53715278779689 +5.53715278779689 +5.773355368818178 +4.776770434314004 +4.011510295685536 +4.32832123067616 +5.004941801426446 +5.004941801426446 +5.7783304010419645 +6.359808506956156 +6.908856584800006 +7.498897766935295 +6.707520888675892 +6.126775610441487 +6.865666890505764 +7.625021105204796 +7.526529329585684 +7.480040510076053 +7.037319843464655 +6.955646248898327 +6.0906521719426605 +5.623060332767843 +5.4004376555453355 +4.854087606854031 +4.624520317725076 +4.84937436424201 +4.394646875862727 +4.959911103513359 +5.720886049569419 +5.2080919819455325 +5.2814873618091855 +5.21517547260543 +6.116704558958153 +5.604791271343915 +5.772923186512617 +5.884380059842975 +5.304754791098812 +5.388154438101338 +5.591594329344689 +5.713172335669896 +4.96058661876829 +5.554397575645645 +5.538849248937491 +6.092443724467186 +6.146155054119469 +6.38061741685514 +5.666390981901115 +5.886901994195765 +5.768759173411146 +5.672643503369404 +4.860706472326498 +5.5091095589344805 +5.735386137033698 +5.36479165253487 +6.0470833710163046 +6.156500256604728 +6.156500256604728 +6.699184981111626 +6.047954502841028 +6.249100970517064 +5.35015816311787 +5.20576976989977 +4.234502617723959 +3.4370399124183884 +2.6039903452185666 +2.149933222584791 +2.149933222584791 +1.6881199957514306 +2.634690545290502 +3.0175698149129397 +2.1880689571132748 +1.7002155853348713 +0.82182628263558 +0.6876357641943599 +0.7074712955106371 +1.2121032166580266 +0.679194617210171 +0.05389110207188308 +-0.3077115701031884 +-1.246289408348738 +-1.0664225702553278 +-1.0739643708432176 +-1.841858198408405 +-2.4226470879341697 +-3.2666522777401736 +-2.462805637823805 +-2.120451529198939 +-1.558855412974086 +-2.488949062558162 +-3.0726597746859006 +-2.958369926563522 +-2.2995228103881145 +-1.8640701855498312 +-2.536096891238021 +-1.6929093847007108 +-2.505471271671116 +-2.0407245006515797 +-1.7088388180604548 +-1.0324083254578622 +-0.6735565886026122 +-0.24988599787414434 +0.49405970248476194 +0.19421997655658296 +-0.34273518898086996 +-0.2688539917307565 +-0.49957939953290054 +-0.2362164096027186 +-0.09997476116454607 +-0.09997476116454607 +0.5153811383471938 +0.5751851551582554 +0.003855814613318964 +-0.4170932356430589 +-0.6121435914369371 +-1.1297438800819166 +-1.1574588783605266 +-2.133726029684216 +-2.4062398353843206 +-2.463475782500965 +-3.254120227030702 +-3.3182251160080054 +-3.4981423206851767 +-2.645815568142525 +-1.6602721271800842 +-1.1593225664640752 +-1.4130189231830603 +-1.6697508439932163 +-1.7222461700844969 +-1.7989703763949514 +-1.9144577864018384 +-1.5967092887957213 +-0.8536025467796449 +-0.3146302808205981 +-0.7704147572001164 +-0.35804412316200473 +0.2782836018115252 +0.3854825435117858 +-0.34279229648213183 +-1.3378584119712094 +-1.1547341746472992 +-1.1580602619243212 +-0.3393368785504851 +-1.336680396571536 +-1.4619926036981363 +-2.373252966624359 +-2.373252966624359 +-1.7062986967909073 +-2.587447379374912 +-2.2558967167855224 +-1.610345623686063 +-1.9749517659859297 +-1.9749517659859297 +-1.6019848911664982 +-1.0224093677131156 +-1.479050247089602 +-0.8562839194348344 +-1.5416680134881438 +-1.5650912576312455 +-1.6978295708352844 +-1.6978295708352844 +-1.2008468524360338 +-0.5890121974374902 +-0.6170566420264326 +-0.4396227085784573 +-0.4396227085784573 +-0.4411312236177902 +-0.45136362935256547 +0.09501493477366096 +-0.7360176856566844 +0.16639619700794273 +0.2982411171829379 +0.49426667232871024 +1.0716078154496498 +0.6405537773197562 +1.3967989325213663 +1.563697896981095 +2.3062175078743543 +3.1429460651388053 +3.357634236488618 +3.491452946605615 +3.3572430602294916 +2.643022241184605 +2.258129325558817 +1.2970606765648418 +1.6542179124359373 +2.4238378575813484 +2.809931218678189 +2.3461781080716495 +1.4084747879187947 +1.8356830647911515 +1.0373422917547324 +0.6349956582079087 +-0.24208192811224116 +0.08281729285243611 +0.27030093643120223 +-0.4981007852127345 +-0.013917694125520685 +0.3865226727461307 +1.214622445637826 +1.119068161111744 +1.119068161111744 +1.5181444733483223 +1.334035592232174 +1.0109020894817995 +0.8618150234241652 +1.7839060389704886 +1.7839060389704886 +1.4781852377033817 +1.4781852377033817 +1.281046668120203 +1.284608641483246 +1.4366538361782701 +1.4817039441112025 +2.25394075826277 +2.3648870804555724 +2.122935154965208 +2.4897587367623126 +1.8374449817673297 +1.83742813032292 +1.915349942749846 +2.742354845637175 +2.742354845637175 +2.3799846714556616 +1.567421211054192 +2.3748375944669 +2.7030443770010977 +2.7030443770010977 +2.9052000130282387 +3.2028659309353777 +4.1240438124638565 +4.891438670368284 +4.217976518484203 +3.7199589346904336 +4.375800464480447 +3.9212161170321025 +3.738828287380961 +3.826577161649085 +3.63517401500948 +3.8560702810784804 +3.409708691552969 +2.7170980650207515 +1.7286640885344953 +1.7286640885344953 +0.8841330421731999 +0.09525096602042193 +-0.32847464730467213 +-0.3375275244796665 +-0.4622066325039863 +-0.8726832066271546 +-0.8726832066271546 +-1.2700549859108272 +-2.1559024756822165 +-2.6364608148398228 +-1.8046213785092917 +-2.5991754406090575 +-1.7531843814165875 +-0.8900817665736613 +-0.032990040964834266 +0.08816487583685162 +-0.07414949987500885 +-0.23917156632391823 +-0.230105781513803 +-1.13793725362092 +-1.791171405735066 +-1.9695209789384407 +-2.9017094109282855 +-2.9017094109282855 +-2.9039996049169305 +-2.0753779320368073 +-2.320656312976103 +-2.3741392918348962 +-2.1594010938147674 +-1.6317342696283794 +-1.6317342696283794 +-1.6767319398602902 +-0.9069822508845418 +-0.3481377489780495 +0.3191038258519374 +0.18710876615048833 +-0.18257916810338748 +0.7215166576074985 +0.007599774630070888 +-0.7065490670073451 +0.266290374425344 +0.4047694089154872 +1.1820497071562566 +1.963153489938607 +2.0636071816344357 +1.1879165955794126 +0.9679954521336595 +1.6759728828916671 +1.5836839909957607 +2.098171215156329 +2.098171215156329 +1.3172292793409885 +1.6596478077922157 +2.1507721054762743 +2.640158043433643 +2.0052002195024135 +2.3971670743869886 +3.333532410402573 +3.333532410402573 +3.3144453369065454 +2.870721004080373 +2.450183536100083 +1.579670265370749 +1.7041134818140549 +2.1501209101414718 +2.1501209101414718 +1.6592051448454743 +1.6817140045955934 +2.354680859013819 +2.385191763753756 +3.175943235468729 +3.175943235468729 +3.783588215242302 +3.783588215242302 +3.340436779279328 +3.6303988583115445 +3.2253144872899355 +2.71795423384344 +3.6337129763817493 +3.80003559378694 +4.265957161861827 +4.317977860343208 +4.391505887353713 +5.0888056491426905 +5.426501396957475 +4.979628246877792 +5.5983858248776635 +5.5983858248776635 +6.317688379285987 +7.03681386072906 +7.376714629798321 +7.056387779332693 +7.2290396762970275 +7.2290396762970275 +6.788564339693909 +6.788564339693909 +5.840381401510558 +6.6853617175481945 +6.139258046877434 +5.681654140540473 +5.681654140540473 +5.85424544583263 +5.85424544583263 +5.789826207973627 +5.054186705107897 +5.144714691650455 +5.367136991770752 +4.445707308312499 +3.8908209975528223 +3.0575323198653575 +3.5512739847758246 +4.482120048676204 +5.049245687008357 +5.049245687008357 +5.166160384746437 +4.860522931765102 +5.203165361807074 +5.203165361807074 +5.61308326486791 +5.26260372337522 +5.59050581351931 +4.829177036329653 +4.534900313302785 +4.576078536717875 +4.781397020701403 +4.695094351069628 +3.7236405739414997 +4.692755369998703 +5.382250488211103 +6.328264640933556 +6.328264640933556 +6.340322953561779 +6.340322953561779 +5.47200157578664 +5.114091557264199 +5.114091557264199 +5.295850077256285 +5.039906962914382 +4.669400874284944 +4.662129357823492 +4.662129357823492 +4.203122804861924 +3.935572048858317 +4.3553114584407275 +4.2624816281345135 +4.2624816281345135 +4.2624816281345135 +4.2624816281345135 +4.2624816281345135 +4.383455384896957 +4.32438987429116 +4.921674779073419 +4.974865639472179 +4.363381663638174 +4.1408544155518605 +4.251512079693583 +3.2788902709841032 +3.2788902709841032 +3.039396896613173 +2.367177127484002 +2.5803103566027623 +2.332831517870341 +2.6712812244930637 +2.2215704524606585 +2.471639943749162 +1.6037835183324844 +2.100283678925514 +3.027733184581452 +3.027733184581452 +3.136825853622434 +3.083497558781384 +2.654473390740598 +1.7677676685402806 +2.5293470576366373 +1.7975995398498887 +1.648593383421309 +1.4123952724041247 +1.8578393213190725 +1.4144030060452373 +2.066604712452602 +2.066604712452602 +2.066604712452602 +2.083967234694267 +1.800138625281964 +1.4793848976159722 +1.7401502286690722 +0.8190578965742132 +1.135468115181451 +0.44693721517004903 +0.020770715247876326 +-0.18710900890261284 +-0.000483331929673092 +-0.000483331929673092 +0.9953047745273138 +0.5410896097996384 +0.7721299911990532 +0.2537605941780793 +-0.08739858960370506 +0.44838471491892684 +-0.2214436267773745 +-0.9421725547409396 +-0.08236987961056008 +-0.6045460333928556 +-0.05196582583757947 +0.058733923339102434 +0.9400238614692611 +0.5661873744029674 +0.9909136352788895 +0.006681202296206057 +-0.047626354674772386 +-0.28185308856704083 +-0.24145513271633112 +-0.14442633581636388 +-0.9690797166864616 +-0.76040923065718 +-0.7740518855690672 +-0.8837902771442224 +-0.08768635117713253 +0.25537356712747716 +0.9989642056788913 +0.2685258425855904 +1.1061890788921773 +0.24229661593566476 +0.07483161908732539 +0.08123843713994094 +-0.8327770568298524 +-0.07151473145127218 +0.927610470963986 +1.76948808089127 +2.598725111554798 +2.598725111554798 +1.6638011603790441 +1.5385805502113925 +2.231103611091986 +1.23661915770076 +1.1592839193530864 +1.0485557295606869 +2.0078646240459292 +2.6088104196191537 +3.1454241933260674 +4.105897920725591 +4.215339414770527 +4.732957305304536 +5.061320845451148 +6.060687214647984 +6.037894282021168 +5.881767443735321 +5.620413230398681 +5.9894740956352 +5.6503228912613 +4.809060292131113 +4.2968076250379825 +4.481232796039704 +5.17567117540486 +5.1986466279362595 +4.397545101814998 +4.028621165061733 +4.304959550539825 +4.1103687116436705 +4.821735322892635 +3.9707593007344073 +4.666029269040451 +4.4249698747468065 +4.4249698747468065 +4.2297491626059855 +4.258286003151603 +4.506820514837378 +4.667819459237952 +5.005576250255615 +4.973985121519941 +4.973985121519941 +4.85177609671713 +5.333456245167905 +5.333456245167905 +4.937917698498413 +5.159314362742246 +4.719163389923067 +4.664979405699055 +4.890200661534552 +4.438690752433378 +3.502961931439933 +3.438786000383814 +3.406979587122803 +3.5551338306097335 +4.159589466089475 +4.984793639012991 +4.4390243130384714 +3.6914404696701406 +3.6914404696701406 +3.244978123668608 +2.873183507814878 +3.6879572331317165 +2.8687215105126773 +3.544746359728824 +4.31794241705619 +4.31794241705619 +4.620190671246075 +4.751281953399067 +4.751281953399067 +4.099852618441226 +3.1551828057776197 +3.0290274410873286 +2.993640436988325 +3.9194632585699862 +4.017832576729353 +3.806197556654846 +3.303230424207653 +3.654488301158022 +2.831234955079558 +2.3343840207461004 +2.680903255333964 +1.90255562109095 +0.9898116713619305 +0.18739983818754058 +-0.41887238256156123 +-0.14689167422555394 +0.7091808236121764 +1.1856848149774801 +0.3265177152726586 +-0.014536312031660947 +-0.654437196082979 +0.30474541122947885 +0.1842932314139114 +-0.6851845199054338 +-0.9898929145227914 +-0.3650127909716866 +0.49653350761019743 +0.8510562485411065 +0.8874774748573745 +0.5455603376836302 +0.41510370129633 +0.175337175162525 +0.023834088173852463 +0.452642395364078 +1.2637089961683934 +2.2283716874922423 +3.046740736522005 +3.155992735655029 +2.1891679280496628 +3.0589025257169533 +3.6245026045986926 +3.115254003921218 +2.2685185083869728 +1.86851614159764 +1.479743742816098 +1.898447242789129 +1.6464078789276577 +1.1437404980539483 +1.8593472863812643 +1.3148682494390422 +1.7156227695810837 +1.6323388387249653 +1.2168660450410842 +1.5495864722153523 +0.9544862803965986 +0.32396114725061365 +-0.319368431026841 +-0.32492825950861703 +0.03331033729819988 +-0.5515198729389416 +-0.6566058542159341 +-1.1925580723576248 +-1.7556122368061222 +-1.0487298988311726 +-1.1846399112908577 +-1.062645967866772 +-1.0945027525919708 +-1.2663873404474675 +-0.5393711301058517 +-1.4331064856700946 +-0.5590976826999339 +0.235180024362605 +0.8862844064505915 +0.8375739387447968 +-0.04340302487652237 +-0.8972120132926028 +-0.2667960593115696 +-0.11096359751903317 +-0.4551521790712074 +-0.9401116941247877 +-0.42646687691127105 +-1.177611168092474 +-2.1204388721175174 +-1.1514270342074664 +-2.120158901150627 +-3.0782431542442747 +-3.6337122265427704 +-3.608575219699876 +-3.2659238388025793 +-3.6914082240906034 +-3.8727899923210223 +-3.8727899923210223 +-3.8919068280895326 +-2.9826840030833077 +-2.9826840030833077 +-2.7001440498322493 +-3.4351375102099144 +-4.377296113230438 +-4.377296113230438 +-3.947947355369764 +-4.257235103747858 +-4.001864249453108 +-4.001864249453108 +-4.001864249453108 +-4.3028460929848835 +-3.8394857537942477 +-2.9144676636704148 +-2.223957883113882 +-1.8252931213639414 +-2.0228259769571784 +-1.583143113513114 +-0.8141523106033308 +-1.2009023147446665 +-1.7908734342608148 +-1.2599027160296141 +-2.0584035199352195 +-1.5880593624749668 +-0.8627694986476295 +-0.16174566992242312 +-0.33592047224100463 +-1.310934691372407 +-0.6251500806188177 +-0.5308198235842643 +0.054456348138695265 +-0.24281726440551232 +-0.4539182754016913 +-0.25355019742208773 +-1.1518490253560572 +-1.484960850670141 +-0.7193793226734178 +-0.6090944731067223 +-0.2480429817457781 +-0.9648187482070449 +-0.3937952485785159 +-0.05813535841775441 +-1.0073122289903182 +-1.8655678200509045 +-1.1205783144388701 +-1.1205783144388701 +-0.5063832580277996 +-0.14571316625151565 +-0.5869381970454345 +0.10136333406877596 +0.8248188405002997 +0.8630921882319577 +0.41702201924389226 +1.0678087853328442 +1.237267627718242 +1.184919072698246 +1.905930208309294 +2.76558963644529 +2.8373566526585936 +2.216475699501033 +2.216475699501033 +1.3520923619966605 +1.257773921840164 +0.40588898565967435 +-0.4212844996797669 +-0.4212844996797669 +-0.5839593974204179 +-0.04855257954097747 +-0.8703412994051637 +-1.84328656546699 +-2.0789392481646005 +-1.836101965114349 +-1.4624879306447551 +-1.2938312892304247 +-0.7625002004719741 +-0.19353013282983067 +0.5038848444986785 +1.4884980482584094 +2.458691031686591 +1.8702634013716846 +1.3491050947180192 +1.3603295082822524 +1.7229751042100794 +1.7229751042100794 +0.8412467447446856 +1.815414127734995 +1.2747604105815964 +0.37811750138969136 +-0.009582714463159392 +0.4334107634863099 +0.5400099102429946 +0.25017353854862634 +0.9328267401896788 +0.1767730890640835 +-0.07215801697885571 +-0.978208090807399 +-1.8552140216973347 +-0.8751281119300471 +-1.8364534700001862 +-2.4621371571270996 +-2.512760893327087 +-2.296830431670467 +-1.8194991973692265 +-2.4858696740205213 +-2.260830759653702 +-2.4568334215725414 +-3.441529998088021 +-4.363972468478997 +-4.094574622249444 +-3.7970570345507335 +-3.250669777503507 +-3.2087273910455187 +-2.5371321888770897 +-2.7431778678383183 +-2.5303395870506673 +-2.80799474641795 +-2.8731492175329265 +-2.9903845743471935 +-3.237406146222106 +-3.482879763509121 +-3.775794519143896 +-3.678917024807045 +-2.950188216831263 +-2.6280648415897376 +-2.904307918695093 +-2.904307918695093 +-2.125124713570856 +-2.179062055997389 +-2.099312831572933 +-2.13901546877328 +-2.8021673930826463 +-1.8578957311926076 +-1.2169503981284662 +-0.914784550590388 +-0.8601180837494131 +-0.11911124519707439 +0.44656689263116744 +0.44656689263116744 +-0.19580336939434062 +-0.4467873363505709 +-0.17896380756064134 +0.07274372366891091 +0.9811854677268178 +1.5487761715387514 +2.009159831209061 +1.406776970292261 +1.406776970292261 +0.4328922169735414 +-0.1712753067274435 +-0.9574104848001241 +-0.40843243856149525 +-0.3239220575260038 +-0.7637923883461507 +-0.6266080577033787 +-1.5074377533391679 +-1.0521412308455182 +-1.0667118134196811 +-0.7838231577908306 +-0.08686146746819712 +-0.5390475392641242 +-0.4582672252208747 +-1.3789637297281367 +-0.8952766841056585 +-0.9748661144794034 +-0.597055550699188 +-0.2084860723919072 +0.1710996715937455 +-0.35165970504753263 +0.6278807629621154 +-0.11997637098001246 +0.8248524313048974 +1.5057034617211467 +1.5057034617211467 +1.9348575591382438 +1.1934009721783903 +0.32534351201819045 +0.6772213625005921 +1.6186761212718659 +0.7093232111898207 +0.0528826082292162 +0.05793131449679101 +0.12982545283683122 +0.5208070424032714 +1.14000933751542 +1.1330852914964251 +1.2736011860639898 +2.0781437545812045 +2.387324522016503 +2.387324522016503 +2.5673926758043057 +2.675687684350804 +2.634462202162861 +1.9905420481408278 +1.1684435384033167 +1.1684435384033167 +0.6549882157708959 +0.8728794611831416 +0.4682031146843274 +-0.42499681052874305 +-0.13017957736566188 +0.23168137501607988 +-0.08629001088005861 +0.4688239062130428 +0.04252174227521455 +-0.8457344219903348 +-1.1764105112156134 +-1.1225494214621048 +-1.6015448008627282 +-0.9408264861935529 +-0.9408264861935529 +-0.22644121506785364 +-0.5838286668584854 +0.38210929692080164 +-0.03403647134837495 +0.7676344470321559 +0.6746161514742247 +0.9045846933400182 +1.0792277735234825 +1.5516318922894048 +0.8445755790189349 +1.7906814505483664 +1.4420260089213106 +0.9650383428793595 +0.029407287116100522 +0.032682202219667666 +0.28693838501861146 +0.9908883057928516 +1.3127304806170477 +0.3784808602013541 +0.598979599405806 +-0.23773061103767024 +-0.5410752044872004 +-1.2869025137879713 +-0.8249275157618363 +-0.43310084113422853 +-1.0409698214255008 +-1.8297231274350483 +-2.1477832839111652 +-1.6554893595465743 +-1.5090765549128897 +-1.8664046736590758 +-1.5928195464543808 +-2.2628566966443593 +-2.804775811428289 +-2.7853877958208253 +-3.1299727957719057 +-3.1299727957719057 +-2.6423448122932176 +-2.395736037593669 +-1.8065682727433094 +-1.2742377538375056 +-0.4113272929641667 +-0.2754659620918911 +-0.5885555496402967 +-0.7753131229208061 +-0.855731331168896 +-0.855731331168896 +0.11453900616689705 +-0.534256017670076 +-1.046319720436379 +-0.4019387840243165 +0.5374928948946422 +-0.01569271871254041 +-0.8547936535073857 +-0.4019100936554454 +-1.1139239720208691 +-0.7573745709237891 +-1.716123020399892 +-0.941503720518502 +-1.0373610443459067 +-1.1575888189869983 +-0.2955903913661264 +0.4651218609787515 +0.4651218609787515 +1.3190806310242746 +1.062024709990784 +0.5713189629467833 +1.2271365423346583 +2.1050804719457394 +2.2755153679533104 +2.7685453448897754 +3.5927629908513774 +3.5927629908513774 +2.9121209150724194 +2.918398154196812 +2.1311349197754246 +1.6709400491439936 +1.452363478492321 +0.47249907369974764 +1.3248033009536282 +0.37470685815008764 +-0.29745528389049447 +-1.1336732280086184 +-0.24329007774020006 +0.17973891209309723 +0.002564069011550596 +-0.43744008334749784 +0.010641972748163031 +-0.6998010995178652 +0.26758604935527175 +0.6314258540032773 +0.7527950361963882 +0.7094352244570915 +-0.17999386995242206 +0.1512737391037161 +0.17784686794856397 +-0.11241675266670415 +0.45789111395446924 +0.5109735759683889 +0.7792209589623234 +1.1606440817995656 +0.4482861148203532 +-0.304520391681425 +0.41512619829640185 +0.12359806838542065 +-0.45548498724799924 +-1.2193836219872791 +-0.7728552060237273 +-0.864152068450453 +-0.3742279219613548 +-0.08075336195558747 +0.23902310290902207 +1.0754793664954754 +1.0754793664954754 +0.6567953576065458 +0.2627114853475587 +-0.5651230525524769 +-0.09051911862694251 +-0.21096320656829148 +-0.6049100936771441 +-0.4487182076654448 +-0.9670324461873563 +-0.7178696465858685 +-0.25963566566854945 +-0.16535167843662446 +0.20767363245521797 +-0.3967504828831401 +-0.22565539178335836 +-0.5875570155597155 +-0.8494575901330201 +0.038850779510058775 +0.038850779510058775 +0.1385123093424525 +1.0981371284896222 +1.398172611024367 +1.6843738138997981 +1.5717691982640862 +2.5362503427372225 +1.7535787650931718 +1.7464204017372777 +1.4093122165994516 +0.5589919024117711 +0.40986843327242595 +0.5104913151750393 +-0.13500382136630906 +-0.2653390423617039 +-1.0599299216883193 +-0.27117474065244607 +-0.12922319481854627 +-0.1262337607742714 +-0.8436330612241882 +-0.7190215263531212 +-0.7160228304421454 +-1.548246814747538 +-1.7886970970687965 +-1.7975869856552298 +-2.0070103995560777 +-2.6809495922943274 +-2.83046259642099 +-2.83046259642099 +-2.66665965840086 +-1.8267889680177236 +-2.171471168285678 +-2.19587272201173 +-2.075241663856671 +-1.898297090923423 +-1.7696508511476376 +-2.1913836841902863 +-1.995545392499425 +-2.0080152759795165 +-2.075754219355644 +-1.511644145156203 +-0.9828353847742457 +-0.39655415523675774 +-0.327492058172687 +0.35132893741732474 +-0.4098140985870138 +0.3196354639565475 +0.18849259075735703 +0.6710709514517567 +-0.3201291920053352 +-0.6474349608035954 +0.24356986096547661 +0.7983243960056916 +0.4173103525083851 +1.2776119015993066 +0.3668976723955819 +0.9565539127719016 +0.2395942417630177 +0.8029303477134284 +0.6835350381516548 +0.33314089264144164 +1.3288855017522327 +1.69067120577347 +1.7038295695380925 +1.7038295695380925 +2.2495233170141855 +1.3206988713877454 +0.38053172443850936 +-0.10777889734786916 +-0.4359117640246455 +-0.24702053592736162 +0.622623610941081 +0.9950670819636322 +0.6470896429660155 +0.471972800303877 +-0.08897313868867607 +-0.19474329238760524 +-0.6316702678149118 +-1.4856782320087347 +-2.0816731137696403 +-2.323997978470267 +-1.7637471243471252 +-0.8051234577983866 +-1.8045743541594486 +-1.8587360689317225 +-2.376670060716319 +-1.8900898631696728 +-1.9885285815095992 +-1.5451050435684475 +-1.1129808530540461 +-0.9747870259071891 +-1.8739002821228754 +-1.7645027578727615 +-1.5303229866898058 +-2.5113062153424384 +-1.8071501058714061 +-1.5601373188099716 +-1.531862026814321 +-2.352581230483347 +-2.6309382535660917 +-1.819556349446784 +-1.7503224609783787 +-2.5823405570473397 +-2.3040171356946564 +-1.6471931310565933 +-0.7485163270015294 +-0.22730013092223444 +-0.5764112855052187 +0.21604369504921783 +-0.6973085255383246 +-1.2498071754067848 +-0.6320974760830997 +-1.0745693365887279 +-0.14627951388521354 +-0.41626059363502843 +0.4909874193581586 +0.11301112881907849 +-0.6264376313997599 +-0.90391619057735 +-0.90391619057735 +-0.90391619057735 +-1.4775606573231714 +-0.6218176655866363 +-0.8354179808334142 +-0.45839652354326 +-0.7585251323910156 +0.1659681826788102 +-0.7054217778215828 +0.12581072348798394 +0.1251347508884385 +0.19774527278269682 +0.19774527278269682 +0.10325305042005994 +0.6938929023094864 +0.15175684291029334 +0.14727087005654516 +-0.05895349817632556 +-0.9714298884323216 +-0.5465599775924717 +0.25101034517947673 +0.7600134827914244 +1.4406559316765026 +1.4593459165524445 +1.4270813885971778 +1.8757199516134102 +2.3527255663097306 +2.993940335817824 +2.5308399153918133 +2.7028255698385992 +3.6234022617804023 +3.2325892123335707 +3.88535027487028 +4.60666317526502 +5.434467773577513 +5.201825524695307 +5.343401658847158 +5.075664689810448 +6.027683937099746 +5.287951372282352 +5.287951372282352 +5.3895612434300535 +4.530852507019639 +3.8765682729752404 +3.1983383161033068 +3.1983383161033068 +2.998297068046066 +3.4477212725070716 +4.17287143006853 +3.342825977555437 +2.951492315088627 +2.951492315088627 +3.0915157874145347 +2.498819268153279 +2.1147121594731555 +1.684396819096727 +1.3569675492752942 +1.719991533405322 +1.0882052242423852 +0.7549483316521984 +1.0042092499255566 +0.675544055186008 +0.21420658800938752 +0.6903024363833172 +0.7975417250591796 +0.5201461355655351 +0.6495580273151708 +0.07975671332734369 +0.5807967503150914 +1.1529327270848206 +2.0640393518108526 +1.1260713480581097 +1.5720918745163723 +1.768437520884322 +1.9172875313922757 +1.3588789437268955 +0.9902476554814817 +0.4070846391184838 +0.7560097921161643 +1.1388232576533102 +1.3273162353907537 +1.6420125818282232 +1.5367536012396772 +2.3032531097881783 +3.2808686025543103 +2.4425254256165854 +3.1342617856367694 +2.9248626090997267 +3.6486408917844626 +3.7306994059269076 +4.025260339244983 +3.900565928579608 +3.9985161376188194 +3.1935057647177034 +3.1935057647177034 +2.2753483189124792 +1.8476700196895126 +2.419967583284655 +3.1224326125555546 +3.382156194487009 +3.382156194487009 +3.0305404050070837 +3.6106893416706316 +4.454268497621845 +3.6559341704474972 +3.612493669923905 +3.3740548226313063 +2.6424926973567784 +3.162434014031863 +2.4527897318190446 +1.9025884826332702 +1.9025884826332702 +1.6584963469580507 +0.8393501896589015 +1.3738586900886425 +0.3822515571215337 +0.9467820689730586 +-0.020305099800685955 +0.6730042149914155 +1.3679405949259784 +1.11939669062882 +0.9072423408597704 +0.5091884437322136 +-0.029570608659643893 +-0.6699204945962014 +-0.18715038440229814 +-1.1183296322867489 +-1.1244143930315444 +-0.730675429416332 +-1.0524826491605874 +-0.0646502252729424 +-0.50708651754219 +-0.15660136831680893 +0.5610554199337346 +-0.11283103132627315 +0.6090075769298905 +-0.3132034047900728 +-1.3009106624582367 +-1.9777884486392558 +-1.0004268571380848 +-0.3748593346844744 +-0.8350374368711687 +0.15669261328348794 +0.5809881856966298 +-0.011351367862676098 +0.38288715154479924 +-0.09713690344037484 +-0.5130283449001488 +0.31084627885468097 +0.973243529452345 +1.034949437627763 +0.06878230437641863 +-0.5808156195018634 +-0.9048861847939255 +-1.1152538206545255 +-1.1152538206545255 +-0.7568402648251282 +-0.9069616873827128 +-0.6492586803890917 +-1.0654843127665423 +-2.0572558979001223 +-1.9119436464613897 +-1.6457528875049443 +-1.8546194130866436 +-1.2658644430886963 +-0.4761412605950117 +-1.1565605292553065 +-0.6417397150288375 +-0.4414281275120855 +-1.261700836448191 +-1.1436585639831311 +-0.7360729077775456 +-0.006298397634196817 +0.46757402339623844 +-0.4563033746303069 +0.32922125695002924 +1.0037080576819541 +0.9674262673593724 +0.2713365600992056 +1.2159680390012895 +1.9624487890693494 +2.9384394931804856 +3.1551746027271497 +2.7493457285960137 +2.3820353673034798 +1.6343828727232232 +1.2550757297099304 +0.6050176861071044 +-0.11741659050270248 +-0.9018320033733405 +-1.4279353824283707 +-0.9733539556259836 +-1.9115730494620724 +-2.3047450345829925 +-2.695650179458003 +-1.7171699632235122 +-2.0181625964298564 +-1.3870370726824157 +-1.50507455326564 +-2.3497960169219994 +-2.4970525903601475 +-2.74654304006986 +-2.0894812119470005 +-1.2505487968599305 +-0.2543312678418683 +-0.5453570791398558 +-1.411102632523146 +-1.5759440171918149 +-1.7284685213574194 +-0.7599384435936429 +-0.1070413920644393 +-0.9075192098151326 +-1.0077640206284846 +-0.33016477148272294 +-0.4575346971093125 +-0.4817835619646429 +-1.014369989387111 +-0.4642513559038568 +-0.7884815699388216 +-0.7334096617492148 +-1.7036280939329655 +-1.9729146858620727 +-1.174670040832118 +-1.4672125898180308 +-2.009684775072897 +-2.721569715398476 +-3.6565579426358177 +-3.4470585937591114 +-2.473451994947863 +-2.841078908276063 +-3.7001557350297993 +-2.981311561526467 +-2.4024314429182505 +-2.0628756653876383 +-2.0628756653876383 +-1.9491162988998953 +-2.046989609097119 +-1.1844486642385499 +-1.163968646150758 +-1.2390232388428917 +-0.3726859435805219 +-1.2099354841500947 +-0.42638452526468584 +-0.37868016218139045 +0.35212440655713473 +1.1518089764002675 +0.6600997429574459 +1.2063226414767696 +1.471543345427023 +1.471543345427023 +1.471543345427023 +1.499751247589781 +0.5073204858979967 +0.9456449779955811 +1.8017330111062444 +1.9076807241162652 +0.9079878526687648 +0.8827069352815379 +1.5958563388824056 +0.835688159140596 +1.7634293173625386 +1.5954711310776708 +2.3373109737154607 +2.1153603454821477 +2.37219345492732 +2.4201358633275816 +1.986295580166059 +2.613191799533505 +2.963784501293884 +2.1585849923665914 +3.1346255376562997 +2.9768169412509318 +3.911456898093962 +3.4856004997874277 +3.912995338672853 +3.547054353849902 +4.496995899685776 +4.617585440917268 +3.8494466567897145 +4.317336546312805 +4.11685568676371 +5.050088105909148 +4.607600181437933 +4.647080744762992 +5.479615718466107 +6.2485688446053125 +7.071357119852477 +7.071357119852477 +6.443096305313054 +6.831452646426033 +7.041127952241986 +6.108072577546743 +5.426208855600853 +4.625181186707303 +4.738123767893576 +4.197816665418936 +3.7349115425749444 +3.891968192101602 +3.2663530487975505 +3.298926293724956 +3.645452312888085 +3.645452312888085 +4.11332921417313 +4.636488213602838 +5.503770317671434 +5.503770317671434 +5.597858288599323 +5.0810521215424025 +6.023839806178704 +6.023839806178704 +5.889994133720442 +5.698423093787486 +4.838375213793542 +3.9639249339746407 +3.9856927085542244 +3.687168285094872 +3.0137121075659135 +3.964874275361332 +3.0731090472634417 +2.4168285121851865 +2.5780569066570553 +2.5780569066570553 +2.713318136706275 +3.5346646690603967 +3.2979304165247108 +3.8175684686471785 +2.8555357218544843 +2.9239158159378364 +3.900466119539996 +3.7210451534698867 +3.0371665846763922 +3.0371665846763922 +2.2902066475334117 +2.6338708160341615 +2.6769674023796375 +2.439544132697179 +1.9244716010975946 +2.819620269583286 +2.819620269583286 +2.679285755547054 +2.741068129920602 +1.8512261433310544 +2.4808306625012904 +2.4352187088835846 +2.267732524242491 +2.213842101783374 +3.050309248584858 +2.1595254623068563 +1.24394465599294 +1.1495099135462818 +1.7407380193417976 +1.6891191998339337 +1.6891191998339337 +1.6891191998339337 +2.630268911744362 +3.072036725325552 +3.9231242679392215 +3.332190086023093 +2.82644677042809 +3.582568788341696 +4.4575832856906485 +3.981766853928735 +3.6122031507149024 +4.069451208670683 +4.069451208670683 +4.210143506873937 +4.6384593085589865 +4.19666475621679 +4.439270822152471 +5.259390964163872 +5.9336832990885515 +5.382943854018061 +6.234283979082681 +5.439953977823711 +5.428419599868642 +5.428419599868642 +6.169332938632861 +6.64633081438159 +7.085478428369779 +7.085478428369779 +7.085478428369779 +7.76475435191304 +6.897408443747649 +6.897408443747649 +7.544260907420905 +7.544260907420905 +7.544260907420905 +6.787230908963588 +5.870940841283714 +5.138012190767695 +5.294174772657924 +5.105283143097661 +4.318230262668183 +5.212230430192529 +5.114604075003755 +5.114604075003755 +5.114604075003755 +4.491422283785932 +3.6550208940167597 +4.209597016926609 +3.7703037725769035 +4.651540662784674 +4.562112491414772 +3.6541131206333235 +2.846946837114559 +3.166377812840424 +3.134775156205843 +3.0944767206795794 +3.8225321583003726 +4.702114768959131 +3.897925547342914 +3.4042727279257132 +2.992111076399989 +2.2479743405611794 +2.2479743405611794 +2.8315648471735706 +2.9526358810987148 +2.9526358810987148 +2.639758665397634 +2.9108073208427294 +2.797952627577205 +2.681537404531308 +3.1911799270979895 +3.7682047120664017 +4.340110164302627 +3.8466926057898667 +3.5502195283170987 +2.5712122872100385 +2.792479670894478 +3.5231528359101754 +2.6941525598692175 +2.716216390301066 +2.167432355440369 +1.6541887575304526 +1.0212251299268993 +0.4723150857469498 +-0.08006164686848805 +-0.15884751755830806 +0.3172499484441912 +0.22766952523802608 +0.5954018022317413 +0.1830258367669696 +0.597608699894557 +0.9169162883527545 +0.9462598006551358 +1.4864073636152297 +0.561806696747073 +0.4632466899796527 +0.4632466899796527 +-0.12238108926172664 +0.6479884790133911 +0.8201291945797807 +0.6596299891975923 +-0.26406144672003196 +-0.24458705738399344 +-0.3854544224585287 +0.50197895430401 +0.5380317510537905 +1.2358061399308742 +1.4942159600907214 +1.4574389876956606 +1.728412965621135 +1.5074753740187727 +2.2707276756308934 +2.2124913568596325 +1.2611985491711641 +0.5211945233205786 +1.1417871607625896 +1.068258227943062 +1.787034480605625 +2.3143320650517825 +2.3143320650517825 +1.926806274250748 +1.035521374571932 +1.422662424670747 +1.3762649739733441 +1.2807238076513565 +1.5348232697662538 +1.318772720180935 +0.8257526148179725 +1.771160426997716 +1.5646728225032027 +2.162968057119721 +1.339655126881903 +0.37703164558463187 +1.3154485000268983 +0.4062777286699344 +0.38364782381724993 +0.43455214745417525 +0.9858790551397624 +0.6656795914435816 +1.3717732437390342 +2.3689242651009037 +2.0517472816517115 +2.3567006529317482 +1.8910528805212645 +1.133445134661623 +1.714505507928828 +1.7668713994573502 +1.3809012016618278 +0.4747420013060095 +0.8796278579913561 +0.1313713306632891 +0.5488997144024881 +0.6691889079886753 +0.8403979638501637 +1.3792299831494428 +2.378493966947964 +1.7387190686215301 +1.2408098411321546 +1.2408098411321546 +2.239095587409392 +2.9651946249174688 +3.2336192826277728 +2.956544292744661 +2.047907834436428 +2.1428874602027013 +2.2726548276098475 +2.3930326460511675 +2.245735446077356 +1.564136188877257 +1.564136188877257 +1.9056193096956748 +2.6265676298705127 +1.986007613548238 +1.7071769831148633 +1.324936601794977 +0.7755363669480326 +0.9953237492339075 +0.5591619309739443 +0.15416814569336146 +1.1249501472259809 +1.2826020126891498 +1.7486113183087126 +2.4648254001357004 +2.5576326322827425 +2.2109967362975675 +2.2109967362975675 +2.340068441007519 +2.4702132269900603 +2.896857932718234 +3.2918504590549276 +3.133358157276782 +3.133358157276782 +3.92394156110373 +4.189276564592254 +4.309720347934355 +3.924176572768649 +3.3292371046744185 +3.669093024438291 +3.898143766482257 +4.703669814406193 +4.703669814406193 +3.862058524403463 +2.978331597836771 +3.874121823662681 +3.277690091936492 +3.4761925936498175 +2.88074211979266 +2.88074211979266 +2.80307723058183 +2.9458789331098103 +2.1614903100494196 +1.3399552510699997 +0.35163485318908516 +0.0020425713671591295 +-0.3049559009150673 +0.5176944465213744 +0.9173947217068188 +0.1272007002039497 +-0.20717760027826115 +0.6028140169420343 +0.02049071380968559 +-0.5005235591000848 +-0.07491791862143671 +0.153949122315726 +0.7505068852878262 +1.6730454525597072 +2.110250864331868 +2.920109275661238 +2.920109275661238 +3.4922099702876412 +2.9382608389234353 +2.019915318713201 +2.0352948881035475 +3.016238643954772 +2.6577368513435373 +3.583142995986785 +4.042417948568179 +3.128159428212003 +2.759454398579792 +3.154901657385509 +2.795485128746243 +3.2989876247751067 +3.7547321337456507 +4.476194939690151 +4.9162953362209105 +4.46613851231938 +5.198796947599639 +5.5179726612207585 +4.858362584272016 +4.402632091983373 +3.425073697616008 +3.351259768314822 +3.160334645627607 +2.7048651605620484 +3.304006272843764 +3.8145201361422503 +3.935026812661735 +4.041500537678433 +3.3525050643901833 +3.089497452264863 +2.9553443283752707 +2.982496238352601 +3.078845859680203 +3.797040777553808 +3.797040777553808 +3.797040777553808 +3.466655064094596 +3.4313065429524587 +3.757702320709905 +3.757702320709905 +3.757702320709905 +3.0775455863192613 +2.900719896885272 +1.9427185619260186 +1.629793737112737 +2.0454111389641323 +1.3987382652782274 +1.5434134091121987 +0.7586529245020492 +0.14476169782588477 +-0.7368545295567248 +-0.1956235325423008 +0.26878920424871544 +0.4098470546507418 +-0.03934890769223809 +-0.5483909664250773 +-0.8569186669205553 +-1.1519160077965904 +-0.47518236773083156 +-0.043924525627179856 +0.8493064821247494 +1.6227593033699956 +2.572227312013892 +1.9777005283210436 +1.9777005283210436 +1.204629516778205 +0.7380497660682287 +-0.023999212186902708 +-0.30301453499290343 +0.2314095186730174 +0.5436550665341169 +0.7819001901071125 +1.7510474862525687 +1.3926007584444604 +1.1130151367278351 +0.5554513386352156 +1.4440578991995991 +0.7240024406328087 +1.6380433468978288 +1.2932957599230024 +0.40329024800541813 +0.358801285839362 +0.546177644456355 +1.0732229011172176 +1.0732229011172176 +1.465786457442967 +1.7998688409866215 +1.7998688409866215 +1.7353512980469001 +1.7353512980469001 +2.472499861041073 +3.3739992619757646 +3.4650873764834262 +2.8432096778513474 +2.36979320587734 +3.0029558331384276 +2.9642955066995014 +2.9642955066995014 +2.8045591452550407 +3.679710358840789 +3.3383403842399697 +2.8470539259634724 +3.4744197341867205 +3.3778194208890784 +4.310766261328598 +4.794824562660489 +4.2345591339670285 +3.4864001950718393 +2.7067537367150036 +2.004937104764455 +2.742100995141058 +2.217997236411919 +3.1612807235957225 +2.9371776807011987 +2.5573098536887797 +3.190783426212103 +2.5902304536754004 +2.6977326648558844 +1.711649712345288 +1.711649712345288 +1.4836664492627278 +0.806045320663809 +1.7546824130147636 +2.116050378849169 +2.116050378849169 +2.784528751847989 +2.3670051788301913 +2.3670051788301913 +2.3278151425150244 +3.3261043636141827 +3.5395132811196506 +4.132683762031234 +3.966442020379582 +4.770277467709446 +4.558522825489802 +4.558522825489802 +3.5804726752465044 +3.976379813046167 +3.380785755498482 +2.8803429084138443 +3.295598140890746 +3.000642619326881 +3.9658281811259877 +3.4853097120774357 +3.4853097120774357 +3.2693777667088804 +3.537596673184199 +4.218066702605868 +4.772316537130925 +4.955067608268823 +5.576799740460766 +6.016919196850154 +5.439152619330333 +4.666972647734343 +5.5785772761468255 +4.613783900962243 +4.613783900962243 +4.333054446474951 +3.600172247139552 +3.7455518472097955 +3.916448301801907 +2.9409519152253547 +2.7200741696120665 +2.9347854107308025 +3.5175660788763814 +3.7689604949916715 +3.464993878435338 +3.524460241222244 +2.597754929284943 +2.908400836486105 +3.2825585850616514 +3.7365286150374604 +3.5816923195308363 +3.152848223134112 +2.7117267894474772 +2.378718495332526 +2.213858753069483 +1.7484015037169773 +0.8577696726725681 +0.5105651506119758 +0.011209396030875007 +0.015390628907726134 +-0.2123552782376671 +-0.7629892568399775 +-0.8321062734839046 +-0.338585764143168 +-0.855291218547952 +-0.16647966875671827 +0.6788350722019088 +1.0273412631932302 +1.2040650088906693 +0.6533314950871589 +0.8191509700626283 +0.4854678444322894 +0.4141163673329882 +-0.12075731250801525 +0.5810416243318302 +0.09792859557736222 +0.9387028442466953 +1.3925959533437524 +1.4016520710247937 +2.095430886706671 +2.783929735619675 +1.8329463393301662 +2.8191776520638006 +2.8191776520638006 +2.8191776520638006 +1.9050676740833796 +1.6771697230734577 +2.39847820677051 +2.6156928472729666 +2.3612382691972384 +2.0472537393683865 +2.274524598439548 +2.990275270418332 +2.8060267137152493 +3.1494812289863314 +2.325410974998163 +2.118901555768973 +2.0957066061914613 +2.3633098821810847 +1.8721930925231591 +1.146077258302947 +1.406813439019506 +1.2208053426681547 +0.26311162444158365 +-0.6186867393451705 +-1.4008147659129606 +-0.8984278348847834 +-0.8984278348847834 +-0.7553689175639606 +-0.7517002844405822 +-1.7322430001118865 +-1.7322430001118865 +-2.253266912125029 +-2.253266912125029 +-1.2743662155379458 +-0.29265939787941253 +-1.221938135933502 +-1.747736675040738 +-0.8383632463247792 +-0.8624357363192431 +-0.1307974431460791 +0.8653292109041134 +0.32289852237855865 +-0.13807058027736208 +-0.7340509482188888 +-1.0166594682813495 +-0.15882885865042073 +0.6022366543246271 +-0.39737132727067803 +0.2734853684918941 +1.1972529701152093 +0.6679890939161965 +1.2250223241049558 +1.3264029552179437 +2.2568922360790937 +2.2568922360790937 +3.1615151354632287 +2.60876363873772 +3.2404921713843886 +3.2981411914597016 +4.112932784069615 +4.112932784069615 +4.064413345531833 +4.064413345531833 +3.1958841889184044 +3.0480862663117265 +2.8869946325529625 +2.976287633421167 +2.6445195340493726 +2.0788434488448244 +1.1390437670149514 +1.2851003039978395 +0.4321049568646744 +0.4315487617690813 +-0.3338974086539007 +-0.577074090445441 +-0.22249217693177892 +0.01671922179404839 +-0.33811775664736843 +-0.2696226472160116 +-1.000499046834661 +-1.6998310693986913 +-1.0165087622405948 +-1.9599297526250432 +-2.487063649528095 +-1.9680997534373073 +-1.8222161082190338 +-2.177602148489465 +-1.242857414979073 +-2.1904500168569 +-2.8770015513599505 +-3.105115120814661 +-2.258225303581473 +-2.258225303581473 +-1.397704273524838 +-1.1451093227942335 +-2.0572035460003684 +-2.5826044745712737 +-2.8948427750000123 +-2.425417130961988 +-1.6248178436347351 +-1.7764912155066415 +-0.9516487381087966 +-1.1476856276495901 +-0.9127639888256487 +-1.1032694843778716 +-0.646825115886627 +-0.89260257805256 +-0.31299732958504134 +0.5567984761949129 +-0.30807938841225047 +0.1671415427042101 +-0.6381150938122292 +-0.713488695628826 +0.08073140490787156 +0.5856534446306911 +-0.35315352960945057 +0.03965140867887995 +0.4597561547791629 +0.22831926378579281 +0.7931546417682133 +0.7931546417682133 +0.6201405196555536 +0.45950463864454394 +-0.43923933200179033 +0.31572022649573805 +-0.3053661070624031 +-0.4982820511300807 +-0.6585437146990821 +-0.24584998260332924 +0.08159308408132604 +-0.004413980920896954 +-0.24063419523902596 +-0.8078122096893546 +-0.7807022409020107 +-0.24979531986100312 +0.366424574837915 +-0.08965448138337795 +0.1687070832666444 +-0.20811410986967738 +-0.38998496624959333 +-0.7270792239545737 +-0.823217131685444 +-1.5829260753085639 +-0.6972974100534035 +-0.9148737653953277 +-1.1884294441467702 +-1.3378148942127424 +-1.0234912297522458 +-1.4680661471595342 +-0.5793447804816634 +-1.3426859235147803 +-1.4744322247422623 +-1.9765080550357232 +-2.424311277490832 +-3.267675478864346 +-3.797002417262034 +-3.797002417262034 +-4.617738605279536 +-3.78973083824839 +-2.833801928890595 +-2.0489108525348487 +-2.3909420537711927 +-1.6653454698091292 +-0.9093882108602664 +-1.8336331917107727 +-1.7807637937727985 +-1.74330923056877 +-2.7160546068308067 +-3.6966393453205892 +-3.0093371207535426 +-3.4215774929522245 +-3.7106619531677056 +-3.804613086429353 +-4.6703341038894095 +-4.733267573477166 +-4.733267573477166 +-5.094485172376975 +-5.775920002389293 +-5.775920002389293 +-5.7579840513634375 +-5.7579840513634375 +-5.566354351610426 +-5.566354351610426 +-4.682713140560652 +-4.682713140560652 +-4.834717326691743 +-4.47946243563014 +-4.072836526067927 +-4.915380960225403 +-4.3432472196166625 +-3.698314461405401 +-4.0988353963736195 +-4.46013991779586 +-4.695197055335177 +-4.208202468253833 +-4.704850196231977 +-4.216733555505664 +-4.216733555505664 +-3.9234367172926756 +-3.547502504578282 +-2.682400814100311 +-3.1465532591405148 +-2.2212701848913463 +-1.3181746720463203 +-1.2824050575728976 +-1.761770545118814 +-1.5274675617652342 +-2.324811978690223 +-3.146974924587384 +-2.7983815309087774 +-2.7983815309087774 +-2.7983815309087774 +-2.6358825486514768 +-2.8129182917632694 +-2.001419461352986 +-2.7448957571063417 +-2.260215091189311 +-2.260215091189311 +-1.8635948222516747 +-1.8635948222516747 +-1.0788965734979086 +-0.2575750129144736 +0.577400583079013 +0.6277810046643024 +-0.2940088284068896 +-0.4956984293017844 +-0.06648064175919821 +0.18287184965680348 +-0.6628040390193292 +-1.3207674795811335 +-1.5325509463972726 +-0.9475976985454848 +-1.0352327750586214 +-1.0978302670761955 +-1.0978302670761955 +-0.5123129223913361 +-0.34473773839889943 +-1.087043449583009 +-1.712241565848052 +-2.5862402033382934 +-3.0475514067610634 +-2.8177589881019296 +-2.187656583168155 +-2.187656583168155 +-2.187656583168155 +-2.516745866920351 +-2.126424282610271 +-2.6971946301491694 +-2.6971946301491694 +-2.806438248003765 +-2.0097973614167657 +-2.450848524881724 +-1.9813974966358567 +-2.4033193247116045 +-2.447601344586758 +-2.447601344586758 +-2.929026070152607 +-3.3119997120726534 +-4.205867537682712 +-5.103374345471545 +-4.945310950878895 +-5.075808587492149 +-4.311639914485758 +-3.59892870069811 +-4.511068952757396 +-3.8907767505257786 +-3.7703538718773553 +-4.257802046649324 +-3.92072632244284 +-3.9501487863445415 +-3.81116477467288 +-2.927354358386146 +-3.432003307949863 +-3.082321291471639 +-2.4991783173397604 +-1.729821483618339 +-0.8785365851340488 +-0.8564930632615735 +-1.672073998087078 +-1.5147378148132804 +-2.2906604802008212 +-2.9605380815682376 +-3.139753547808555 +-3.8611669837533142 +-4.070876381253735 +-4.617747933454749 +-5.297885233791739 +-4.842589298787292 +-3.875183937516389 +-4.257192891348219 +-4.143260253728291 +-3.7669418033983284 +-3.117329364536036 +-3.117329364536036 +-3.117329364536036 +-3.9037431273570036 +-3.6099589339701716 +-3.831776186239278 +-3.055227215314173 +-2.177301242412859 +-1.5808189981674332 +-1.9838194534229845 +-1.2270159499913376 +-1.5350732341349302 +-2.3115667310749215 +-3.2794289656433397 +-2.828991680671223 +-1.9919137274598828 +-2.47143939673062 +-2.4496843756732583 +-3.264630287776092 +-3.4541218389299404 +-3.3155321353427407 +-3.7955989164604502 +-3.927500574365339 +-4.462279704811373 +-3.8651999255457796 +-3.2315493596580973 +-2.3638789261655004 +-2.636067605266365 +-2.524271806285477 +-2.6406234832848434 +-2.0562119995988892 +-1.0777469075473578 +-1.115534416907828 +-1.2734264931990231 +-1.2734264931990231 +-1.1847989461196387 +-0.5969029733154376 +-1.3886007339057307 +-1.450694458307384 +-1.3325674858262564 +-1.8046295927844587 +-1.715824637111521 +-1.1387267467724786 +-1.1387267467724786 +-1.176460285915208 +-1.9360902975672518 +-2.620565058719409 +-1.8767303695811062 +-1.4477283344597274 +-1.2628088162870377 +-0.5589909102599757 +-0.5589909102599757 +-0.7088728929188582 +0.06941257619330565 +-0.733694789355038 +-0.5355251188744036 +0.03516730951726699 +0.10294930521676238 +0.37777413085705247 +0.1782473798376334 +0.6815652569814201 +0.6815652569814201 +0.17983535626670188 +0.4177392711518726 +0.6815084284625039 +1.631420309407029 +0.633434339722234 +0.6449102896568355 +1.3422468142626562 +2.0627725137011774 +2.961517748571725 +2.8198033768818607 +2.5858393789601015 +2.7464187461664418 +2.7464187461664418 +2.7464187461664418 +3.6190691837394926 +4.419547564492806 +4.375354633744454 +4.166764800911689 +4.129173600102158 +3.5406120425260745 +2.7505213655566214 +1.901500796051467 +1.6665310425315156 +1.9856245144519369 +1.6553154215556591 +0.6802541903117161 +0.9843826682937293 +0.2007516070515627 +1.0084520891483555 +1.9368446755944617 +1.6719408348111822 +1.2010616620162646 +1.5831553506034024 +1.4188525598909103 +1.2276635417415473 +0.4260268725105334 +0.6942961333897619 +1.4096029716796754 +2.2179482293456223 +2.1150784587396334 +1.1370707682039443 +1.0828537568426713 +1.564933576425921 +1.8676428076934846 +2.172515910717567 +2.2665615436524638 +2.858114491947229 +2.9511152854144496 +2.4212711411799503 +1.9209027204197664 +1.274402538365539 +0.5844495576776318 +0.9714011146700772 +0.10637132468083221 +0.6608323233406699 +0.597526226330192 +1.1590226236309862 +2.1268905741463184 +1.9111444223282597 +1.731514594015787 +2.276831389286894 +1.3868360659792989 +1.2302977966064153 +0.25901060739266235 +-0.5157395017287256 +-1.1530590334676611 +-1.6465973081749166 +-2.0403892067019527 +-2.376815564584207 +-3.0388549476274465 +-3.976804519343915 +-4.661477421696755 +-3.9714339400588723 +-3.541793385957834 +-3.0461239415210075 +-3.5445094110040527 +-3.2746679346219656 +-3.8504079192906424 +-3.8504079192906424 +-3.9360376408665365 +-4.01564031021436 +-4.406772183926397 +-4.992478193449181 +-4.306101452485539 +-4.9793181979399295 +-4.621009651632383 +-4.9033815802991825 +-4.962788493969721 +-4.962788493969721 +-4.349198312635114 +-3.995188801462982 +-4.374859195632154 +-3.485263943230624 +-2.685197781096093 +-2.5569694035052297 +-2.1733502066716053 +-1.773799704451649 +-1.623067541189884 +-1.1470424104601902 +-0.7994774337817374 +-1.261801366596099 +-1.7705587073445797 +-1.1229765403362544 +-1.4783026608719192 +-1.2108206192942634 +-0.39179417863850685 +-1.0508060483099382 +-0.4086918302205431 +0.40668683796706584 +0.8339005687824836 +1.7920480824961793 +1.0278679311040715 +0.2540969360585501 +0.26659031218575646 +1.15342640068673 +0.34450523978562897 +0.9446830174543346 +1.6244263238579535 +2.2050155058330234 +2.0438305180495577 +2.3352774399274554 +2.731494513849654 +2.488857800837995 +2.3067547654175913 +1.823354181397193 +1.823354181397193 +1.1398335585601427 +1.1398335585601427 +0.5627381777926472 +0.10585053070878081 +-0.2957252213947077 +0.37519301357955537 +-0.11702801117056494 +-0.9070240970547446 +-0.41663414039267 +-1.3906213113514565 +-1.1749433866797996 +-1.4996221677380928 +-0.7089149733239066 +-1.6031877986136607 +-1.2602926549047382 +-1.1323593888879262 +-0.20205862937356778 +-0.6423261245671515 +0.32778346878203035 +0.49862466153281393 +0.6266051414755397 +1.4366094730680707 +1.105359313048936 +0.332123464433431 +-0.315604071024731 +0.6020243053301402 +0.5139306786787424 +1.2909424072718862 +1.6233396814519325 +0.7386319891444182 +1.2352275685034833 +0.7157428247276083 +0.13987736160027597 +0.4673677290901377 +0.770249897457248 +0.9581081607039561 +1.5782743504963455 +1.77168103738237 +2.103336481551902 +1.8556777931386472 +2.592457884872843 +2.16803832148258 +3.061868941344626 +2.6757136035475555 +3.275382409296662 +3.374270154835437 +3.0534748486667063 +3.3621809255127664 +2.6145584184780204 +2.248456020511012 +2.9188059786729874 +2.7964810676788576 +3.521497026448955 +2.5586795120371093 +2.1506074516850244 +2.1506074516850244 +1.3438849218937543 +1.3612667737807038 +0.9127892627602502 +1.2828844263746637 +1.3973375724231434 +0.622367587659129 +0.847853929072037 +1.0061210735376984 +2.0027048870904163 +2.3968984676492626 +2.182186329346438 +1.6917944465535326 +0.781512468364062 +1.0267287174534696 +0.3038344946681977 +-0.2852675723765692 +-0.6303834335030979 +-1.0277727369996545 +-1.1165155106537146 +-1.2206873546078953 +-0.2426418770986951 +-0.4648408655375825 +0.152975748439372 +-0.05450953254763968 +-0.08959710442215318 +0.6574899841217289 +0.10834912216598835 +0.5008376757761058 +0.711474893033948 +0.08222805287312263 +0.14413907359175637 +-0.742538643758624 +-0.9724022430894674 +-1.060907360373855 +-1.7203559053306732 +-0.8125214197971433 +-0.8391324253603715 +-0.0476855541803215 +0.7670796155262455 +1.5727567110553964 +1.299720309796279 +1.299720309796279 +0.7270949059885534 +1.402266772251817 +0.5087223815823223 +0.133049213369005 +0.01977439805680703 +0.13341575188318489 +-0.4297956559412808 +0.3085896532394341 +0.3544071721957036 +0.5974768562783341 +1.2806102977589113 +2.1063119745121526 +1.476709809405592 +0.5437257412667622 +0.13404874461614702 +1.12808275062218 +0.7207006560501251 +0.13756936674116604 +0.2290067461490085 +-0.09392258158212763 +-0.26620809227718156 +-1.2381081973660883 +-1.2319778226745144 +-0.7581707934306776 +-0.6041572193358691 +-0.1078388521284166 +0.3582838492159912 +1.1923030931950989 +0.40166479977092373 +0.40166479977092373 +1.3635673588168058 +2.104320825459191 +2.5515301276446483 +2.4072925868837816 +1.8706078095400018 +1.9139904262133927 +1.6937223451715337 +1.1411617047324014 +1.5409629262592153 +1.5360824435982354 +1.5360824435982354 +2.451663881833607 +1.5967118290354356 +1.292013796966864 +1.23736962670307 +1.5399433289528595 +1.7783925154117106 +2.654309194097756 +2.731109569361638 +1.9143940182541703 +0.9215904334912028 +1.9177418809961508 +0.9258921632303219 +0.6872808511885867 +0.11717047066260855 +1.089425565915871 +0.44254589129712385 +-0.15233653211485 +-0.47781716716040645 +-0.3262645269966177 +-0.006007256323553478 +-0.16365907636006716 +0.2823011731499414 +0.2980762718056278 +1.2057789327450756 +1.0839863840387434 +1.6309575208084106 +2.265426855152607 +2.2822909887285587 +1.9391736983386316 +2.923217253791587 +3.737154732835519 +3.5994586143757683 +3.5994586143757683 +2.8218804492148286 +2.704063034123238 +3.677478252637379 +4.411028574325088 +3.668545298340036 +4.157731117932118 +3.974241937317802 +4.060398040340493 +4.997784824249094 +4.657601821048211 +4.083228421004952 +3.496452572433231 +2.746282678285519 +2.0014775807468794 +1.9507729673901557 +1.5121388359600112 +2.186263673867662 +2.6396089022810085 +1.692929261994855 +1.859288167534229 +1.4075670569465926 +1.324355931396369 +2.0286544340720063 +1.6302339507640045 +2.2746286574535777 +1.846456225525912 +1.8521667513746716 +0.9612114532975411 +1.6891848766815682 +2.4673725419411388 +1.675116702720366 +1.504605124131972 +2.1591395791816486 +2.7640583240174426 +3.029535800439032 +3.78454166942161 +4.568957184260038 +4.568957184260038 +4.213548143581391 +4.307499158810522 +4.023588829563028 +4.474257245087193 +4.332347127035181 +3.5824725536022552 +3.151276179601743 +3.9466416270616973 +3.760768899399679 +3.760768899399679 +3.8774629793963675 +4.2674062871297025 +3.5643040919454334 +3.347232669949866 +2.6374664302231796 +2.6374664302231796 +1.8880059631665438 +1.5714566624732873 +1.1693354510604124 +1.3360712780392252 +2.0553911399592497 +2.0553911399592497 +2.68871739811026 +3.4515227989156116 +4.28231182381602 +3.6868460871417703 +3.7709635638780554 +4.4249497181045045 +3.640980182908077 +3.640980182908077 +3.551644022130084 +3.7350526895540224 +4.109703151009228 +3.8882472684366167 +3.1100130696831183 +4.034766194582234 +3.7927498829645585 +3.3141877584237798 +3.9828760398113836 +3.9828760398113836 +3.736405469601509 +3.5903834854854333 +3.769443632936484 +4.011273232106529 +4.640638415342372 +4.640638415342372 +3.9987287547881873 +4.536722116105321 +4.536722116105321 +5.142770067349735 +4.332012125215988 +4.389425353325171 +5.256613449288861 +5.115026800386113 +5.757919601386289 +5.960986151174085 +5.376477970921148 +5.29029163986577 +4.572555395201657 +4.574144835281194 +4.99248899425337 +4.616314397061808 +4.084336298250916 +3.650556693873108 +2.941860973446447 +2.566977180726882 +2.2188318387434998 +2.970382673640029 +2.544842007069572 +3.2459633111050454 +3.073676654707138 +2.3313800289090496 +2.0093923802937494 +1.8098620406962818 +2.2185553554398663 +1.4565603726950427 +1.0697048453787241 +0.5623504074460521 +0.8342058478650389 +0.155879937656918 +-0.45066395681794247 +-0.4938523389594297 +-0.034305837704831865 +-0.11806922175128176 +0.46928392633024885 +1.3110739745461049 +1.151309171818394 +0.9646700786228054 +0.0169962867697927 +0.8170721698499531 +0.16712602749057381 +0.7690999360828826 +-0.09752177275073504 +-1.002192428646528 +-0.7415272440880087 +-0.6429968726455939 +-0.2515584595034799 +0.5434801318196283 +0.8528613358969135 +1.8390198923362238 +2.112850875785716 +1.1223992014607262 +0.144026143213007 +0.9284756626557578 +0.9284756626557578 +0.1434787636718069 +0.6296520538429553 +0.9083558637700255 +0.27144254827110403 +0.4348872597728859 +1.070754661995148 +1.3942870495845825 +2.203656331338241 +1.4348053152753586 +0.6957027503866029 +0.6241232998043521 +0.1933334186707243 +-0.3369215372435359 +-0.22708225154064499 +-0.765150207291682 +-0.05466572988071494 +0.33576034346955175 +-0.25635345502681517 +0.6549364844401819 +0.06284162871447818 +-0.7180685044240454 +-0.6561206162811302 +-0.1387637973914959 +0.4450034057653258 +1.3160827614713115 +0.3846586201897224 +0.27057524844693803 +0.3333555984734745 +1.1751066354446742 +1.7679717553621184 +0.9398881302482145 +1.1053708262762583 +0.27296838295728487 +0.2584755310691266 +0.0686157554820841 +0.4205397692637316 +-0.25373807011403415 +0.3652453962332429 +0.45115877416402106 +0.0697530591182639 +-0.29886152095130103 +0.41040563406701525 +-0.2643978103865343 +-0.7613496747181022 +-1.0125306332831994 +-0.7805346190168141 +-0.6692642190002098 +-1.5423157617640657 +-0.8993575805610119 +-0.8011396019522534 +-1.3174193027944425 +-1.6911501586839455 +-2.0165396724767986 +-1.430566130640865 +-2.1708866401572946 +-2.9607283999706606 +-3.451261246914545 +-2.787809290537732 +-1.9745394732501875 +-2.0371269366346345 +-2.2001731491076857 +-2.677928956480695 +-1.8351460718722483 +-2.824403873581886 +-2.7171909826844294 +-2.7171909826844294 +-2.4944761666040334 +-3.230363580761412 +-2.762571666446015 +-2.352839818592645 +-2.7179086518445046 +-2.7179086518445046 +-1.77035303440235 +-2.1320715697067034 +-2.1320715697067034 +-2.053326517634139 +-2.053326517634139 +-1.884907243987035 +-1.1655680435327642 +-0.30926112295845587 +0.23239569594289122 +0.7731025851782412 +0.026856982681979558 +-0.8057852350862273 +-1.179290799989284 +-1.098166060553236 +-0.6963964082545475 +-1.0262252760576285 +-1.3030465736007213 +-1.3716792298521883 +-1.89601272163825 +-1.2980064465421657 +-2.2846005418168973 +-2.3239267571595152 +-3.2073221564434062 +-3.332303492127057 +-2.8345221741725943 +-3.1931619219702476 +-3.2688767126936167 +-2.918537912895331 +-2.8990991682600686 +-2.7251242187276477 +-2.8738686765307726 +-3.7025103329528335 +-3.5807649032335056 +-2.592294651970688 +-1.595998371332178 +-1.0242532334108436 +-0.25386144581174874 +-0.25386144581174874 +-0.3440499561414275 +0.07730121292553893 +-0.19126101566391074 +-0.6031652095352359 +0.07685445658566159 +0.900617011811338 +0.44848908808256005 +0.33739839070148603 +-0.43373418241409045 +-0.28824881057010254 +0.24636017229722806 +0.028281222437702258 +0.8271213216388309 +0.08625753501811029 +-0.8044087720845012 +-1.0964892477402142 +-1.5175759799065291 +-0.7158103421294988 +-1.1809120009272198 +-1.8697136144465092 +-1.2663020776014386 +-0.5636380892359822 +0.3327680513331528 +-0.41576912570028113 +-1.1820708250485343 +-0.20680115600570748 +-0.15085961689853566 +-0.04562724866543455 +-0.5456951091012263 +0.29069031721082905 +-0.7088249299282916 +0.20941765105878551 +0.8166124681648788 +1.2665236774937805 +1.984864907574229 +1.9359593645852442 +1.563897838422728 +0.8885455237933217 +0.5025086682056855 +0.8727464278307618 +0.7719103986436286 +0.10737608125966669 +0.7828802340092145 +0.9740372701425102 +0.9740372701425102 +1.919256498168199 +1.3874117653581748 +0.6028613473295144 +0.04334451233434433 +0.4482444873833029 +1.4062709313774793 +1.4062709313774793 +1.2402762710984225 +2.170045228057033 +2.0091049836481316 +2.0935899453124907 +2.265829128447078 +1.988463079030676 +1.5223767297821769 +1.1390982550062927 +1.0869206718263258 +1.369108684527611 +1.369108684527611 +1.5205855823167123 +1.9154723797798463 +1.4792322816465364 +1.6285581276725147 +2.279947223382705 +1.8725405542685936 +1.0969332946115515 +0.40540799278536355 +1.2743135879172156 +0.9982145170410707 +1.0130538739601582 +1.0130538739601582 +0.11378695849808262 +0.6950314424134278 +1.4396576186631898 +1.2635533133198824 +0.27646995155448906 +-0.51138245025768 +-0.373129727867594 +-0.7710296250025769 +-1.1107623572772454 +-1.4347126774734025 +-1.9569994242916389 +-2.5379606365921044 +-2.4042813006590595 +-2.4064338984034976 +-2.6436030917277993 +-2.2944707655290406 +-2.848372560906892 +-2.848372560906892 +-2.9882331282895027 +-2.9882331282895027 +-3.7866954706803924 +-3.178177217719767 +-2.418030201567737 +-2.686247754541332 +-2.686247754541332 +-2.8191365767396577 +-2.8191365767396577 +-2.838859880755467 +-2.838859880755467 +-2.7504807076383266 +-1.8678295372073273 +-1.1378969515421316 +-0.7635042388549556 +-0.09699570189598461 +0.005173748549628598 +0.5616707761813196 +1.018721511420242 +0.797136211128537 +0.5462987188082424 +-0.35277258710466586 +0.14122367783599787 +0.2622460164859579 +0.9003425722490148 +0.9813021638620503 +0.14347846163945266 +-0.7743373832578917 +-0.5042982514068657 +-1.1379826478465418 +-1.6647038707197812 +-1.9021945704624006 +-1.439014302547803 +-0.7867537043874073 +-0.7692309876641434 +-0.14666192554072155 +-0.028088181657964117 +-0.7175857840241542 +-0.7131419773349976 +-1.1516908165759787 +-0.21230972146289906 +0.12074852206606268 +-0.2629836195707559 +-0.5034771387081352 +0.11831643357313393 +-0.5224538567791082 +-0.8248723565870514 +-0.016510110692584345 +0.6859225218612358 +1.4395751039455305 +0.46251748379755764 +0.6592484819732034 +1.0409767418018023 +1.272927798536146 +1.272927798536146 +0.9341580209996593 +0.117794643582816 +0.4006759928226743 +0.7440580797959556 +1.0620388930212314 +0.6809353223469531 +-0.3056256522942985 +0.5975760432539455 +0.9218395375410432 +0.37235207725516106 +0.7141758725601074 +-0.20450114481561565 +-0.26018340960182185 +0.37313413272802953 +0.9944524441506142 +0.9183320941779939 +1.6064505563354299 +1.4308146087152172 +0.8056199470007837 +0.5008730073140314 +-0.4051031435146065 +-0.7090792834094017 +-1.1860313074956155 +-0.5704969028754259 +0.0506325064126798 +0.48859125184435226 +0.47565576235625795 +1.0849653946059208 +1.618515246757826 +1.6624750260801224 +1.9760168392237076 +1.697180750312897 +2.163086767257721 +1.3792958190160007 +1.1561885130556324 +0.45582553179148366 +0.8618210166281937 +0.5736516904434631 +1.1338987250286152 +0.9117830839975442 +1.3066013673441952 +1.6772085087761521 +2.347590757887644 +2.347590757887644 +2.825680935592428 +2.7975535193976193 +3.397479222682838 +3.9234618092673577 +3.771927897906762 +3.8258165748748003 +4.133508575751302 +4.133508575751302 +3.6538892823137177 +2.949494312261363 +3.4605781343607775 +3.6352252823682196 +3.6639342138744335 +3.758984639652631 +3.136970625134082 +3.035960327730508 +2.5165098907770984 +3.431060090238728 +3.5954684893185602 +4.396963407770066 +4.764471282022281 +4.530050750708073 +4.907973339410547 +5.3459617239027555 +5.118669574450471 +5.977772653157736 +5.977772653157736 +6.853571410032506 +7.594679768367188 +8.168263841367672 +7.5795260922386944 +8.132581030502287 +7.9663203984479525 +7.318844042892525 +6.425345467344806 +6.939145842854099 +6.015655880427498 +6.432795503023224 +6.005324739180232 +5.699154048515601 +6.348028953047006 +6.901858072626558 +6.983329192263036 +6.3188821319534165 +6.3188821319534165 +5.536473128833133 +6.16929623420266 +6.99558902449304 +6.53387047918655 +6.316540275150942 +6.199581183442497 +6.199581183442497 +5.530252485110394 +4.675516923553823 +4.4951621758210365 +3.5274780091819 +3.5829498636227948 +3.683353453274709 +3.0218326221942347 +3.934988376077419 +3.3904050699776853 +2.4399200513558337 +1.5589008231512618 +0.7831406552108193 +0.7265351795606455 +-0.12639904841286864 +0.40977949691194093 +1.149435059063133 +1.3736432916082706 +0.48199325748264754 +1.4342382089082788 +1.0306353049849033 +1.4175690877073315 +0.6282689110547897 +0.05278763968042921 +-0.7369691900214825 +-0.34668394958838933 +-0.7751391843014016 +0.014675512491339249 +-0.15155302792087166 +0.6361216431340446 +-0.33027466193766064 +0.3949026655544232 +0.6990342694053107 +1.0187174751052566 +0.787992290506461 +0.6469380333538675 +0.5404258699024135 +0.9017626366475165 +0.19584880166403507 +0.02858916478241258 +-0.3675418938603051 +-1.130127547458991 +-0.7680885732922997 +-0.7680885732922997 +-0.7680885732922997 +-0.8834020755256827 +-1.2474741972574828 +-0.6469388303829315 +-0.6469388303829315 +0.2268959700732227 +0.8044139079555945 +0.8028224539010759 +0.5674207504348652 +1.2989772351888644 +2.0412294102990765 +2.040512894046921 +2.8448761419414303 +3.623579996251367 +4.039080299285813 +4.40388164494913 +5.311568377472496 +4.748615955805129 +4.875643107707731 +5.3945193853631 +5.547100622313578 +5.364643008396937 +5.364643008396937 +6.225880411985442 +5.7142840333078775 +5.8077329063937295 +5.8077329063937295 +5.080910815646478 +4.378334066053225 +5.34648287929522 +5.173546118154141 +5.173546118154141 +4.999337116470819 +4.710335077887273 +4.710335077887273 +4.272740498345335 +4.92417293725301 +5.443947734490417 +5.443947734490417 +5.325122058349174 +4.788308491624361 +4.788308491624361 +5.1169203426356855 +5.566070915713884 +4.908060183859086 +4.662422539285527 +5.599645521372023 +5.599645521372023 +5.715924940748855 +6.635898081233754 +6.635898081233754 +6.293481212555307 +6.027126609726605 +5.987329450279999 +5.129795957562181 +5.343443908257097 +4.768389173857341 +5.429476963655351 +5.591554266485122 +5.72864369489249 +5.394332563189283 +5.467340597913243 +4.586551031348013 +3.759211303423312 +3.382333647560059 +3.382333647560059 +2.874620709046097 +2.2151041593834537 +3.0949199635657028 +3.0949199635657028 +3.2638514679459014 +3.3396397772678696 +3.9517939029712417 +3.374793001023658 +2.4774220741524218 +1.5050314993418938 +2.4982018678596747 +1.626944017341319 +2.2740124326482776 +1.7628188525560986 +1.5938119337788414 +1.0179833541605103 +1.3515986431474345 +1.3634034507963515 +1.4947755110998822 +2.410744106513265 +2.726727913043178 +3.2601528178262926 +3.420812731323007 +3.4170646674734524 +3.4170646674734524 +2.829081614501543 +2.163612516526464 +1.3843944298406174 +0.4796284153557082 +0.37126318172652895 +-0.5306951329766908 +-1.093469061287728 +-1.6763378351918259 +-1.2557155606159247 +-1.2910850478650069 +-1.9052078473770329 +-2.843702551706432 +-2.0046274736094407 +-1.6282608499750102 +-2.2278486761092093 +-2.960310592879172 +-3.0992597855612236 +-3.4767571007489266 +-2.7001611558845724 +-2.7001611558845724 +-3.033191896971456 +-3.3177287706453633 +-3.4071113577807073 +-3.2907403516203955 +-3.6264324425060797 +-3.8995669522609457 +-3.8995669522609457 +-3.5601189202703196 +-3.4008339564770917 +-3.2483670217856995 +-3.4109352678548834 +-2.5697741851958 +-3.1200294331874705 +-3.160304004024058 +-2.3217219331478027 +-2.0167990776892117 +-2.0167990776892117 +-1.5458318614473405 +-1.6229407855813354 +-1.1707228109659205 +-1.34083819381586 +-0.504993432216152 +-0.6393799206177538 +0.28344896617306914 +0.6305183060385927 +1.1005654572021837 +0.7069678158841665 +0.7069678158841665 +0.3096105272901124 +0.4108788597555588 +0.4108788597555588 +1.3081556622397374 +1.1567833648331693 +1.1567833648331693 +2.028805195430592 +1.298004099461225 +1.8016022392676037 +1.538913846366731 +0.8307403326802656 +1.3246339084064649 +0.6488347885923371 +0.6004046264082804 +0.45213348408513254 +1.3924540516377777 +1.0925601765111201 +1.1810161758323046 +0.2828378307134398 +-0.3824614575308223 +-0.15116315564155802 +-0.24561998114143868 +-0.9268052687835492 +-0.39963869369339766 +-1.122779927376882 +-1.7102351079836884 +-1.5363836667507758 +-1.6732038669674165 +-2.2032324256871156 +-2.2032324256871156 +-2.7118453858520546 +-2.351569831268509 +-1.9327005280110787 +-1.9327005280110787 +-2.2632345074969122 +-2.3987130578817384 +-2.2931082973512273 +-2.2931082973512273 +-1.8352835443868831 +-1.8952147955152965 +-1.646881152220856 +-0.8601747701078333 +0.11197613875416601 +-0.5673859727403667 +-0.6771029907072482 +-1.6588134390378935 +-1.0381530318607004 +-0.11245433720799602 +-0.19807067974388126 +-1.069381353456111 +-0.829931747602467 +-0.8851535816529404 +-0.8599535572868519 +-0.38966210982982863 +0.32896288486088754 +-0.12219406316228554 +0.29177939721276935 +0.470904093728975 +-0.0432832948852373 +-0.7182732306815396 +-0.9998109145965904 +-1.0789705769774323 +-1.763148597359828 +-1.763148597359828 +-2.023980368968664 +-2.023980368968664 +-2.221307950214147 +-3.1008205440859493 +-3.8990242776825226 +-3.8990242776825226 +-3.2265184731299135 +-3.8685336588241084 +-4.249066859491857 +-4.6042106108917205 +-3.8848736341788106 +-4.88039057134843 +-4.492927154640612 +-4.492927154640612 +-5.004017061140399 +-4.654435662436592 +-5.066534174851472 +-4.272813108499799 +-3.993321282076475 +-3.5057357054410163 +-3.5057357054410163 +-3.970055774207268 +-4.473146004038512 +-3.877735568800434 +-4.780420164252365 +-5.679141286498933 +-4.975310107929108 +-5.404260779408391 +-6.160727331513892 +-6.63666741323904 +-6.261772738674739 +-6.383436668375716 +-6.383436668375716 +-5.9063859785592125 +-5.711013537501762 +-5.219647382957087 +-5.51872955590016 +-5.865618773653511 +-5.865618773653511 +-6.25991532483844 +-6.586333274142061 +-6.094618770649456 +-5.769137923157555 +-6.101467292262401 +-5.612933307867727 +-5.130888281193169 +-4.446234718237159 +-5.002456387653892 +-5.152934774438994 +-5.774547484937343 +-5.103912382407768 +-4.136309664864363 +-4.136309664864363 +-3.4945150694574307 +-3.588039545217225 +-2.758300437302773 +-1.7790661712836353 +-1.898983759682332 +-1.120161639319116 +-0.8323563581547901 +-0.7484137658321499 +-0.9929042658661181 +-1.9040290589013318 +-1.0445499107444398 +-1.0295739314914079 +-0.3507306015200664 +0.4983078463992101 +0.2628389826786376 +0.5784792224519114 +1.3329393469221151 +0.8365320902483225 +1.7961303136753863 +2.3437174456448027 +2.787226405851726 +3.2486174316905188 +3.064943640835125 +3.4856757291345737 +3.0190283935566558 +3.744651399780733 +2.9936827606545684 +2.153690318728144 +2.906429739071001 +2.242384215175753 +1.7172625149686855 +1.1162668906287463 +0.4851545836133764 +-0.4672079361368915 +-0.6202534295741694 +0.33846710510363176 +-0.6106667355357848 +-0.2589420890088866 +0.24877768870270411 +-0.627045204140794 +-0.8874914810965353 +-1.675594450427977 +-1.369879470790035 +-0.9177046311830925 +-1.170534045189347 +-2.154714047378766 +-2.9607079517181103 +-3.230729660029886 +-2.63687764556766 +-2.2460647192562124 +-2.897880263217459 +-3.6004271988625103 +-2.9333887760062702 +-2.9333887760062702 +-3.7186188043674284 +-4.230497602532162 +-4.45877768688692 +-5.141973615368395 +-5.141973615368395 +-4.5442734600905155 +-4.345671872758796 +-4.640747246963256 +-3.993622060983732 +-3.9659441097225843 +-4.098284118015524 +-4.3969865453193515 +-4.789339004647798 +-5.2219438345675595 +-4.4244616474407135 +-4.730752913851035 +-4.275615218949346 +-3.698570757180801 +-3.5535333044053643 +-3.8366038746343043 +-3.782119365620982 +-3.7996968668917654 +-3.424776564630065 +-3.2190692089443496 +-4.082837929036586 +-3.8566189857865814 +-4.141658831917244 +-4.764092644807143 +-4.446329073641319 +-3.9749336005890843 +-4.058572326791314 +-4.818850542959757 +-4.205279548968569 +-5.002390908033463 +-4.56544257669341 +-4.227374190100288 +-4.062372779083139 +-3.8264010142204334 +-3.8295862823322238 +-3.966465905441933 +-3.3363861335068035 +-3.5513612772837573 +-3.657706620948086 +-4.649577625491352 +-3.8145066474744818 +-3.3549016655658397 +-4.044265644769503 +-5.003254062792889 +-5.643248347911542 +-5.992833932962422 +-6.728582546311888 +-6.117672361663542 +-6.117672361663542 +-5.9900965694273935 +-5.690387731914559 +-5.690387731914559 +-5.383105740819015 +-6.1401111818518945 +-5.450365154565184 +-6.174723832407767 +-6.174723832407767 +-5.522809045172537 +-6.33196451312057 +-6.197468997830436 +-5.529088373468968 +-6.016671259798581 +-5.556621112472537 +-5.71171775828866 +-5.070035573630157 +-5.480907473904588 +-5.444240556373749 +-5.444240556373749 +-5.5657677152316065 +-5.5657677152316065 +-6.497945863483284 +-6.2524388364165135 +-6.691809962886551 +-7.071114377511049 +-7.156164296366739 +-7.156164296366739 +-7.663484212459467 +-7.243865834008931 +-7.243865834008931 +-6.3863865382568274 +-5.609867033623261 +-5.824674953494173 +-5.720372922927278 +-5.720372922927278 +-5.012698944474524 +-5.797527119875582 +-5.363672556180971 +-4.42176200242913 +-5.152054690106482 +-4.175246232404219 +-3.578089419636429 +-3.074472739407295 +-2.8577383987575953 +-2.8577383987575953 +-3.7817344348579462 +-3.2311047649236793 +-4.054504502838028 +-3.3841426072812664 +-2.9675113807795244 +-2.178178977764528 +-1.7955556574141291 +-1.7234261036464702 +-2.3511365405844087 +-2.783415499067605 +-3.353663563603199 +-4.089139597685948 +-4.9508723829499734 +-5.545072136967406 +-5.800475410749941 +-6.271550380642196 +-5.889759495690042 +-5.084540686132832 +-4.888896379374145 +-4.9191235558327895 +-4.807076491552842 +-4.420549658733168 +-4.714679732484287 +-4.905176716969272 +-3.939766565708262 +-4.751427021323458 +-4.586877501181045 +-5.2974744547691595 +-5.906323002540242 +-6.635143214374251 +-6.31331155726415 +-5.975562034247259 +-5.292734739066213 +-5.207701029166498 +-4.680982927578853 +-4.348412889705479 +-4.035320028121892 +-3.847374050247935 +-4.269474982133108 +-4.3755374919758 +-3.7711516043139723 +-2.772926365440629 +-2.210190262350126 +-2.114533070610297 +-2.004784140446538 +-2.4608147167378895 +-3.0862817742871274 +-2.134787063393495 +-2.0860536649308257 +-1.9005365293299443 +-1.0172905821439036 +-1.1100047477903012 +-0.2490633340542845 +-0.2490633340542845 +-0.7479628180903423 +-1.1216834095717982 +-0.25945955043148405 +0.1536544335023564 +1.0257817617047595 +0.5273022220415892 +0.8447054510658495 +1.2455614345973594 +1.7161432651231152 +0.7217923567486679 +0.40024493263441496 +1.200872037567117 +1.2536346030286376 +1.633690364925613 +1.8737949486142227 +2.117102006318796 +1.7538775763598689 +2.706832126800422 +3.6961927893594737 +3.6961927893594737 +3.155571104693688 +2.2682780711985986 +1.2812107631629521 +0.8069811292706762 +0.45984586152201334 +-0.018083350948287058 +0.13603213866172748 +0.40347828080593884 +0.13774595055044014 +-0.40812969820248624 +0.415449568500194 +0.937329950609952 +1.8023155080524553 +2.157865659456566 +2.537699360536676 +3.1403861747258177 +2.5331381431400826 +2.5331381431400826 +2.0699938549952854 +1.431390338469508 +1.80153119699636 +1.9847440016294289 +2.7711370363340677 +2.797767236345556 +2.523022126314702 +3.0847521085589618 +4.047720762756317 +3.2730195368251396 +3.107636087296203 +3.107636087296203 +2.561606152059814 +3.2204665002622477 +4.010550421017697 +3.3848175364833297 +3.0662548789757804 +2.5530072034782263 +2.0569279143285915 +1.1826889574551038 +1.6619158873557844 +0.7430816821346473 +0.7430816821346473 +-0.18048981977770406 +-0.4453392919520659 +-0.4004876014426261 +-0.4915233426212904 +-0.3828298894556874 +-0.33013512406707646 +-0.34912510086803283 +0.03249576476063065 +0.6526699226486884 +0.08193859915095325 +-0.40601917865696247 +-0.5572506114988814 +-1.1194387308331888 +-1.0880466382821885 +-0.41150636943120267 +-0.26284897327281764 +-0.7805510828424049 +-0.10722163073580271 +-0.8700594674262114 +-0.33531187863240297 +-1.262577097481907 +-1.5994033456130547 +-0.865565668044241 +-1.703774502082581 +-1.7481717945118542 +-0.9591651613309939 +-0.8959593263889276 +0.009585254757197514 +-0.2214881886836234 +-0.16907959485993718 +0.7211710247790558 +0.830541864024447 +0.41142868411948763 +-0.4799505075394259 +-1.4698796228726572 +-1.4698796228726572 +-1.3508315413909178 +-1.286298879401588 +-2.009843044716006 +-2.6348997771896645 +-1.7950905606280705 +-1.3412515743960174 +-1.1626733113725622 +-1.1930000088408828 +-2.154503722776761 +-2.303255727103766 +-3.208662677632213 +-2.871019155372262 +-3.573098512966973 +-4.180143683250529 +-4.8079355953747385 +-4.908498177046518 +-4.908498177046518 +-5.019523359374069 +-5.874629625854656 +-6.127463339838276 +-6.814235112682979 +-7.8010408200534105 +-7.8010408200534105 +-7.0280221056346015 +-7.598106159570704 +-8.452562494549223 +-8.452562494549223 +-8.452562494549223 +-8.452562494549223 +-8.8724287726764 +-8.525682341144465 +-8.525682341144465 +-8.525682341144465 +-8.607188088000473 +-7.730293169780979 +-8.00387567185781 +-7.043405613862961 +-7.043405613862961 +-7.121224837037028 +-7.121224837037028 +-7.121224837037028 +-7.652483631155102 +-7.652483631155102 +-7.654681619198527 +-8.008524496900323 +-8.49811304313098 +-9.381718536323083 +-8.546994590782191 +-7.649309282332201 +-7.93618741406325 +-7.667412759387471 +-7.137132273996499 +-6.456495612833578 +-5.767939313478733 +-4.869034957607713 +-5.585936502944054 +-5.263528765000155 +-4.765573011678143 +-4.1238127586590005 +-3.665592852110672 +-3.665592852110672 +-3.748434935235529 +-3.748434935235529 +-4.322530850831323 +-3.587835743388422 +-4.329846417011925 +-3.909813941035888 +-4.39387626037956 +-3.985512451343139 +-3.2883339754157004 +-2.3442927399832962 +-2.2374222423762307 +-1.9356590250731125 +-1.4600846896572863 +-1.3760127463351888 +-2.067911184019611 +-1.366851098816777 +-0.36731066186896566 +-1.241678436771274 +-1.3821352052414348 +-2.2284696114602447 +-1.4511825663237767 +-2.166427397912254 +-3.0868836499926635 +-2.835000323575157 +-3.326559819167798 +-3.2262741345812356 +-2.510523987657578 +-2.1469834317813845 +-2.5552658533523536 +-2.885828003189244 +-3.091890827971617 +-2.171548040933232 +-2.1396790484116543 +-1.369580376868303 +-1.2529087869306772 +-1.912606301328187 +-2.7217168525400988 +-2.7217168525400988 +-3.6672852504269398 +-3.6672852504269398 +-3.570108924368352 +-2.6859346043044394 +-2.4396199876351807 +-2.0163855114084144 +-1.0343245737058135 +-1.4145543811924801 +-1.4145543811924801 +-1.8071960565179586 +-1.5196824697417433 +-2.199556910051311 +-2.158322582252982 +-2.1394797877263647 +-1.3617652584238242 +-0.40515285395077694 +-1.1308798206391741 +-2.067069912152011 +-1.8249016096384911 +-1.8249016096384911 +-2.0044453160830837 +-1.2944681747067468 +-1.075916585160704 +-0.4061847631910531 +-0.4061847631910531 +0.20048535661518652 +0.7710493873971946 +1.5847531584820236 +0.74905836596405 +1.0613619460131953 +0.8584681314052279 +1.5392323501428549 +1.3293933357150243 +1.1740599552295206 +2.1533432597906055 +1.8336338869787463 +2.3449566677962252 +2.68229299025049 +3.224476215136647 +2.7412341076074083 +2.7412341076074083 +2.359535287456239 +1.9143784059290136 +2.6985258256661573 +2.8300441102396507 +2.3949856236256037 +2.681133978278856 +2.6219086077648805 +2.6219086077648805 +1.8573953409924415 +2.5804575479411787 +1.8033143449234432 +1.4611404903028444 +1.4387502247740005 +2.25014360710259 +2.605051835156535 +2.408899659919592 +1.5933692500586427 +2.096927299325136 +2.096927299325136 +3.0096664536624465 +3.813613528657882 +2.865135470824943 +3.0018686786562654 +2.0298299449116417 +2.2850751932793574 +2.8445596902646804 +2.5709208812369844 +1.616733976639438 +1.616733976639438 +1.4560825408166904 +1.8111762103007243 +2.02349217044463 +1.696673287228716 +2.1898950322447934 +2.6893975962489005 +3.4115489008000166 +2.677863314562622 +3.0310412769761292 +3.3940216195862947 +2.4169608858357536 +2.91021637909439 +2.91021637909439 +3.0265562137140325 +3.980589603695925 +4.709023313085945 +4.889587723800679 +5.225428828526837 +4.507214676857332 +4.507214676857332 +5.008477901136245 +4.41089697788107 +5.334906650292687 +4.520075101481897 +4.789511739342322 +5.029543506934449 +5.029543506934449 +5.713477257765962 +5.713477257765962 +5.976891233436901 +6.810772731407794 +6.790187975168934 +6.041905615625076 +5.981594823854993 +5.144360258151027 +5.144360258151027 +5.505464208639034 +6.137217567293029 +6.225002234635408 +6.045645233688446 +5.116106093328901 +4.700226014712135 +4.700226014712135 +4.025702967965241 +4.219228517926599 +4.219228517926599 +4.756192413484593 +4.907783577207876 +5.675636036710448 +5.45940696680987 +5.45940696680987 +5.294199672405877 +5.437640552909271 +5.009493944682277 +4.1930320696060015 +3.2037050090246666 +3.5750568515656482 +2.9908941306506316 +2.9908941306506316 +2.6845853482379365 +2.220957985984094 +2.464352350966816 +3.319599976671855 +2.438539869529222 +2.6850306464443667 +3.425578840738345 +4.222686644078541 +3.25669876564419 +2.419804393749212 +3.2385344606835953 +4.0543837468606885 +4.175568326168622 +4.750015257167665 +5.040841369817603 +4.784013645588412 +4.6437228695472825 +4.300264139730103 +4.919527064653355 +4.740280350358419 +4.577276814734743 +5.511493880433514 +6.270369859827756 +5.398876505494038 +6.32316272574369 +6.32316272574369 +6.8541486418742545 +6.477824810594866 +6.477824810594866 +6.119628771318332 +6.577741432117425 +6.782505010804553 +6.238611372204943 +6.238611372204943 +6.744330749918577 +6.744330749918577 +6.744330749918577 +7.089662692531849 +6.98117534126228 +5.997127788434646 +5.146997859757652 +4.620158748391532 +4.837585157854127 +4.1208620563759615 +3.467906314050152 +2.6326262029944743 +2.6967683024539255 +2.0084975890415513 +1.7597521520370658 +0.8887851168566387 +1.2549706629596975 +0.2774696093511 +-0.5444301843458585 +-0.5444301843458585 +-1.0395630868100625 +-1.7213174821008912 +-2.584802466791726 +-2.4863940430178015 +-2.40615107715446 +-2.2717714190446916 +-1.3504810154902327 +-0.5781021900590082 +-0.38178893619412624 +-1.1561046767517478 +-0.8036954015723277 +0.1454203096788842 +0.680322190374224 +1.0459064952007588 +1.5028791997659123 +1.8080210049199044 +2.1884155668794874 +1.8449532117640013 +1.9825990675182963 +1.3450435972499761 +1.831668012586838 +1.3572789659705502 +1.9670412699606887 +1.7550347892966176 +2.5686767475169416 +3.4557334180968455 +3.4557334180968455 +2.8601730329514075 +2.523502363480077 +1.6116448723810615 +2.5365133520752075 +3.3598714865241126 +2.4182413720655545 +1.6164944561714796 +1.7946864975770491 +0.9985722086698177 +1.8717626835813217 +2.448405110196611 +1.8003289379672351 +2.4942615995906268 +2.490758222159938 +2.769328821896895 +3.334623949393475 +2.383116030844594 +2.2176598279704645 +3.0325259800668194 +3.6830522582501577 +3.954029434691695 +4.140243898984829 +3.522709935247323 +3.358525835358742 +3.7497039559790983 +4.131083684741878 +5.0898806691076 +5.071425013927025 +4.158308750689406 +4.644264324934161 +4.967309580742731 +4.575973972761197 +4.356795924466641 +4.502957532022361 +4.705585563815633 +5.028103828960233 +4.52701664454945 +5.303079895971916 +4.685801808343845 +4.75506732925167 +4.535352368431974 +3.9642693968109084 +3.6720992871654103 +3.613935921953371 +4.1821591414592 +3.6763655975798355 +3.884961296630463 +3.750460238564939 +3.8173321891265046 +3.066032952102873 +3.587476574847839 +3.2524470906254463 +3.28314671402984 +2.4288851705777015 +2.723519582027471 +3.1238620112553477 +3.5130150701812886 +3.6885060320190686 +3.682597115829327 +3.728704238672103 +3.860286230000681 +4.428852719737289 +3.858381299696463 +3.8077544298638433 +4.337349021259438 +3.914570562396258 +3.6740611918272363 +3.441382692434602 +2.4578855326318454 +2.0243561585202228 +1.161241178440793 +1.1042027980946791 +1.036332107134743 +0.5790643576069611 +-0.0068625875375921686 +-0.9933571597021241 +-0.652584290469339 +-0.805057836266124 +-1.418752058021491 +-1.9104388485506307 +-2.127480997578426 +-1.9625795761133087 +-2.9074717043028597 +-3.6426391151920816 +-3.784371157540364 +-3.4236471942573523 +-3.550185501305518 +-3.0685935265476068 +-3.0794747130198212 +-3.084352706405976 +-3.0547509845026886 +-3.5268586836786957 +-2.8405346486921763 +-2.641559852092692 +-3.1774193991009865 +-3.41584105522972 +-2.532178888299381 +-1.8425174116499388 +-2.203877850050811 +-2.575340120320274 +-2.8808730766230854 +-1.8850772911976676 +-1.4494380490148202 +-1.456831272929802 +-2.2769297459613247 +-2.123188567767645 +-2.123188567767645 +-2.8286434378173144 +-2.386560226474124 +-2.169274016269969 +-2.101296190375427 +-1.5906861732458466 +-2.3291155056932915 +-1.8434263292169901 +-1.1841387166196187 +-1.7592564946430507 +-0.8319688513462808 +-1.4782413698656873 +-0.9828052675904961 +-1.9754855086983252 +-1.3886693256151204 +-1.8456537123563677 +-1.6377280622292179 +-0.9905707306154317 +-1.2756014151067507 +-2.232258415550026 +-1.438352752975042 +-1.438352752975042 +-1.6424569222748406 +-1.7200947555026613 +-2.1392636997272136 +-2.163860543975104 +-2.1608661297508234 +-2.6175995087829844 +-2.6175995087829844 +-2.006471303197059 +-1.998641508821462 +-1.7464412588001796 +-2.186076679547498 +-2.186076679547498 +-1.9111692323225844 +-1.0691943823638685 +-0.26300647449909254 +-0.25793681122405143 +0.060292215894347745 +-0.37673606077702104 +-0.4092051611578724 +0.29364286191822675 +-0.029529618176198258 +-0.5207751209173208 +-1.0789537007113332 +-1.1845611062069734 +-0.19204712223991294 +0.4652544428184888 +1.3866797374795445 +0.41951868166149775 +0.5538474103651143 +1.4826970177279541 +0.8065904978761391 +1.175731132772614 +0.911639423625653 +0.01342510390083207 +-0.22856272706360992 +0.34648194368753793 +-0.0158363626693504 +-0.3323166405569631 +-0.8209848877749709 +-0.6540881181720645 +-0.08740181297778282 +0.6416882770359215 +0.6676488850924761 +1.5530709263587177 +0.7944394686469285 +0.7992739966244171 +-0.1273066701168919 +-0.5499554077045202 +-0.45884365795950754 +-0.028110236913711062 +-0.3268582840848848 +-0.37444186124755585 +-0.41859436456681864 +-1.1383309108223 +-1.1680411689753503 +-0.728325432551499 +-0.782930612961379 +-0.04177263273920395 +-0.8967488317371571 +-0.09937491486346317 +0.8270000740173232 +0.9683802029552137 +0.6889058940572492 +1.5756482585295428 +2.0259723598393524 +2.6628532167223256 +2.2914240230745 +3.020737869867734 +2.9425143685940665 +3.639348098500328 +4.349880260151824 +4.058268594122132 +4.058268594122132 +4.845764605582884 +4.7244376043235174 +5.390872122595102 +5.708474936913202 +6.084557640988374 +6.795259109855066 +6.795259109855066 +6.217192453639337 +5.936929939826666 +5.312190424412502 +5.261127590458008 +4.472271726214514 +4.472271726214514 +3.938855930477991 +4.570973051624745 +3.966529541454081 +3.2176065603258417 +3.350125696088085 +3.995947911781185 +4.9047680048993305 +4.7056069232835975 +4.811050715705422 +4.4429198102339615 +4.28601773384219 +4.28601773384219 +4.236799371999857 +4.302202893463233 +5.264501548258069 +4.833856836688264 +5.440392900635386 +4.657506825461507 +4.657506825461507 +5.277199701400458 +4.874482311607389 +4.874482311607389 +5.5034412201737455 +4.565041358040769 +5.246865936356674 +5.246865936356674 +4.66527589094564 +4.142103720275246 +3.3615953030253394 +2.407742346198532 +3.0220609613509097 +3.2889607282988242 +4.022610069277395 +4.022610069277395 +4.959490940404608 +4.220246704361397 +3.6543018950663377 +4.512106694202336 +4.512106694202336 +5.034650027465517 +5.034650027465517 +5.853608036264284 +6.306385711800936 +5.325786557975533 +6.207082893518279 +6.0372967361607035 +6.071965305821357 +6.9800654895844625 +6.31512855836555 +5.653882183875944 +5.649798245962878 +5.649798245962878 +5.079690460035354 +5.130945950051136 +4.190435912684659 +3.6647951900602456 +4.322375992280754 +4.869734423372265 +5.202413521626576 +4.833576551858918 +4.545154342449194 +5.320992819713549 +5.081984081298453 +5.0861222682115885 +5.0861222682115885 +4.7205452517786135 +5.0099014951011105 +5.2773945393656305 +4.732675654667283 +5.592320538378953 +5.592320538378953 +5.341029482675238 +5.186879134449024 +4.409947167299111 +4.387387579069875 +5.2858452044658835 +4.596863812312461 +4.012040769093099 +4.874946075064701 +4.691896951154619 +4.333447287573198 +4.738102519039954 +3.9882128285679945 +4.630504023998216 +3.9904435960171885 +4.325435768053601 +4.325435768053601 +3.7886525117859158 +3.838892569773306 +3.0488434809086864 +3.0488434809086864 +3.0488434809086864 +3.2395524686423114 +2.2478746719819824 +3.2264837772408916 +4.124037690293149 +4.80479229425659 +4.80479229425659 +4.431779183464032 +3.6992499812781907 +3.983356938589604 +3.76540313403128 +4.3477879220841285 +3.462475729029139 +2.6599128225555724 +1.8582636250957667 +1.0615479187602663 +0.5619144042526697 +1.0935075085918338 +1.3447762136828918 +1.0307466816296378 +0.06438230967701619 +0.6889032152846633 +0.2914507373486762 +0.6814335712182683 +0.5815245766497303 +-0.06303938108572926 +0.29246984333480497 +0.959196013741102 +1.1764771660868847 +1.1764771660868847 +0.41182705060102376 +0.9601867576796466 +1.1806481330130192 +0.3873429776529218 +0.46275739595629917 +0.320826664091472 +-0.4377785113173299 +-0.42173286592346393 +0.3441506189493112 +1.0190732944970198 +0.20997563577902545 +0.20997563577902545 +-0.28967766434621656 +-0.172404317500907 +-0.25820986047025585 +0.21318748982457514 +0.6701658534707535 +0.5177483409321152 +1.3334646821493816 +1.3385337908656054 +0.9017653134236686 +1.8663324246740758 +2.6317475534902535 +2.081654459052654 +1.3105379407363233 +1.069466895730116 +1.229397494141208 +0.7338477742029407 +1.2853517090788231 +1.1251094413932683 +1.2312946792062336 +1.6188505807893454 +1.588946416847239 +1.2291718766828788 +0.45611828534539 +-0.18709696597433223 +0.758034685910139 +-0.15686039408404318 +-0.7797519868413334 +-0.10010905408271165 +-0.48951716515434207 +-0.24262718802996763 +0.1118646003041176 +0.3779319430019944 +0.7449404140651344 +1.378347895753504 +1.9973149695326138 +1.8929472246934385 +1.1862915624839931 +0.877892946403667 +1.1112195109260625 +1.6243864693903771 +2.3027060284191476 +2.474852629112137 +3.203285537220194 +3.36922414984891 +2.8213281843087605 +2.389951239373688 +3.0165769126927477 +2.0919140118302755 +2.6738360950133284 +1.93544090685529 +1.93544090685529 +2.895468052733344 +3.076671898232508 +2.44889068979212 +2.2200557400933936 +2.7058725484348236 +1.7263365539223021 +0.8987333665777386 +0.46691087064354775 +0.840434205995137 +1.6085264940078559 +1.6085264940078559 +1.8036649559546527 +0.8108129435964153 +0.9492249103455979 +1.2330513271548222 +0.2680379622991049 +-0.11103918458759077 +0.46888228772807616 +0.42540354280386294 +-0.033116734631450595 +0.024693676995893754 +-0.4834664364574591 +-1.4570188216628224 +-2.3761719232859475 +-2.764235064238127 +-2.0040674725746515 +-1.0422416824045706 +-1.1833327444080277 +-1.3374825441673783 +-0.6631562987951554 +0.197001973397682 +0.28882995751210006 +0.3568337816086349 +1.305879475312392 +1.8230328150379809 +2.4526631890876622 +2.3612426236667536 +1.43243989082388 +0.5431970713451622 +0.17252254783476373 +-0.656781673957545 +0.06455690370289957 +-0.8659490487214646 +-0.9505848227159694 +-0.9505848227159694 +-1.109551233383863 +-1.6281779837623023 +-1.1488534046827263 +-0.39251600010107346 +-0.6525267504486526 +-0.9599984695189829 +-1.0042837403779412 +-1.3693683180496343 +-1.412208700338513 +-2.2992184037180294 +-2.4036662770448896 +-2.6787349715731468 +-3.3635790645912866 +-2.44470714674682 +-2.069422733687603 +-1.7420178504088129 +-1.6128620778143867 +-1.6029516261535748 +-2.1147178060059675 +-1.8964920675011223 +-0.9733639541118069 +-0.9967697095476674 +-0.05873613360115748 +-0.3267062077557521 +-0.8772374104544953 +-0.5620733256460622 +-0.3701517211977019 +-1.2038544634025155 +-0.9766263174124357 +-0.3877043871638528 +0.10821833593768493 +0.31542003907808236 +0.3068549906354018 +-0.2503296284928139 +0.23849953945894187 +0.3418278941228404 +1.225339023077808 +0.6445760510579865 +0.5456193383315638 +1.0355201900099877 +0.7050295124392038 +1.1367969165211722 +1.4010086103532837 +0.42876259828054386 +0.44735087399992546 +1.2465253926905775 +1.7226378704302259 +1.5384327371384092 +1.24569076332551 +1.8105880381157555 +1.058907967842701 +0.28130079814588127 +-0.6682754714264565 +0.13523937636262473 +-0.4787362022201962 +0.27733940605110585 +0.3734153645121614 +-0.09024348097218515 +-0.1557504606033533 +0.20043118872717436 +0.22691463805700995 +-0.3076500820007768 +-1.2199653184042956 +-2.0545595581975418 +-2.0787518183043274 +-1.5177324297526895 +-1.1336699899312395 +-0.6223475805897238 +-0.7429309915747296 +-0.15548791102639858 +0.406315987687932 +0.9393471496460631 +0.7771181294262013 +0.7771181294262013 +0.581266312764149 +0.581266312764149 +-0.3238577245774309 +0.04289137061028703 +-0.3850122777776177 +-0.3850122777776177 +0.39652587139764695 +0.005300131378973005 +-0.3975883212609004 +-0.7187405810625928 +-1.4009758208557672 +-1.0028425316275822 +-0.1744826935317867 +-0.97061681088331 +-1.1128290997467842 +-0.6171581667145523 +0.13341948511296042 +0.9310942127267539 +0.9310942127267539 +-0.012945097577418796 +0.8153080822534835 +1.2986039456391967 +1.4771596130132163 +0.6471197576707277 +0.2147139303438118 +0.5700839228414035 +1.0316315600245987 +1.3638584489101946 +1.4435666104002154 +2.3684003268908835 +2.16661415094457 +2.639351436742457 +2.040789734980871 +1.7727299973370938 +2.563172547860035 +1.6181040793610666 +1.6090351129116582 +0.7522875020844946 +0.3987894010000955 +0.3101543757838694 +0.6384212479806033 +0.47633472043530667 +0.9600790583988669 +0.29880668114978903 +-0.5825206687094139 +-0.6960577630426925 +-0.8727692582425531 +-1.220411646817393 +-1.5888822440507915 +-1.7597154649048492 +-1.9707728715998991 +-1.524452012096978 +-1.4942449727421805 +-1.9706439550525978 +-1.5191943441808744 +-0.6780497870624644 +-1.4954149815211912 +-2.0375879739051808 +-1.339997529701094 +-1.339997529701094 +-0.9014923083627167 +0.07487744814375064 +-0.8280718492763184 +-1.3481903236095245 +-1.4797315900442816 +-2.0744424912349784 +-2.401755919210043 +-2.8174382645322242 +-2.1291457714618716 +-2.1291457714618716 +-1.5785624468112047 +-2.2905585432224322 +-1.5652470289566829 +-1.7834079540336014 +-1.5052629518105007 +-0.6373229432511185 +-0.8083601083689204 +-1.459691582837089 +-1.2800554815237597 +-0.7972224876548903 +-0.8661406924849943 +-0.27058027589489 +-0.6088963733302362 +-0.3521473538767539 +-1.1778184019148066 +-0.8142969626941372 +-1.5289322652457966 +-1.6414492971737236 +-2.431320609966237 +-2.5556576634679606 +-3.0270211239333276 +-3.9752336135933857 +-3.8364950586527815 +-3.1552898377090415 +-3.016008922498877 +-3.3294317504290607 +-2.8575152226058123 +-3.126610550728312 +-3.126610550728312 +-2.552396957025645 +-1.7466443752651777 +-1.7539734283774857 +-0.9180275165526355 +-0.39940984476528696 +-1.107880783699306 +-1.9645777228065264 +-1.5752665027331365 +-2.31292073620063 +-2.8596417492849246 +-2.9687168529213923 +-2.9687168529213923 +-2.476952147234526 +-2.891641813394455 +-3.237046193102461 +-3.0567202889786174 +-2.8395475796048713 +-2.344175354172655 +-2.9528928749766985 +-3.8523646420859183 +-4.6119787498119384 +-4.756232686864598 +-4.756232686864598 +-3.9486450974655627 +-3.7239033448869314 +-3.7239033448869314 +-4.1155622198229285 +-4.652561568149395 +-4.327073636113707 +-4.327073636113707 +-3.7280441646069713 +-3.6444489686739447 +-4.218036677150036 +-4.218036677150036 +-3.6729043464908298 +-2.91502595905816 +-3.90495338931071 +-4.392135685697974 +-3.7874736035518612 +-4.2821865927475455 +-3.817789277463252 +-2.9149501267811027 +-2.9149501267811027 +-3.4029073231659055 +-3.4029073231659055 +-3.4029073231659055 +-3.4029073231659055 +-3.4029073231659055 +-3.396520650662781 +-3.3558279009824554 +-3.560195973172349 +-4.321541052560396 +-5.0448660174340025 +-4.664136112592458 +-5.310296310619464 +-5.087209944048991 +-5.350357504230425 +-5.496266161009283 +-5.430192221837442 +-5.430192221837442 +-5.1176276371235945 +-5.400103457396429 +-4.912443141048399 +-4.852526186891416 +-5.754610413138712 +-6.295983258174562 +-7.126134901182019 +-6.60157095026846 +-6.81897434975065 +-5.8756336022137425 +-6.141203162766388 +-6.637468423075714 +-7.3666346089050085 +-7.407588820705073 +-8.313842690071787 +-8.346614664723116 +-7.544423145082842 +-8.306899250583474 +-7.662525814735856 +-8.197665797781687 +-8.136396948169232 +-8.136396948169232 +-7.441379871555643 +-6.669456044837281 +-6.272906188745202 +-5.899959035191113 +-5.603466896120665 +-4.917631799703759 +-4.8426821562349875 +-5.226030077813463 +-4.435495959767936 +-3.9607786792371567 +-3.635693943062228 +-3.400335061973175 +-3.660196286977871 +-4.162451997271779 +-4.176439366658737 +-5.090535848025307 +-5.090535848025307 +-5.859637534329446 +-6.128439437255474 +-5.258269585524451 +-5.2973530476718915 +-5.2973530476718915 +-5.9337444693057 +-5.9337444693057 +-6.149323724686517 +-5.517334641585661 +-5.9252983721123895 +-5.834592094079445 +-5.717951472760768 +-4.949011622881774 +-4.699534063756865 +-5.528680708657783 +-5.474148684603956 +-5.474148684603956 +-6.002204384861969 +-6.002204384861969 +-6.936957430810314 +-6.923824775982998 +-7.724830926941955 +-8.653486745358528 +-7.667107742657802 +-7.667107742657802 +-6.6713579422313565 +-6.729809397673462 +-7.319950115906639 +-8.022095883286235 +-7.634776078479158 +-7.2516008266412095 +-7.575054690824416 +-7.468630159619792 +-7.218011511086914 +-6.474858172663778 +-6.474858172663778 +-6.660356019640183 +-6.685655786185161 +-6.685655786185161 +-6.393694924313586 +-5.626875875967096 +-4.677408781343301 +-5.015174437135948 +-5.453336441441884 +-5.507987284878148 +-5.400870719056013 +-5.400870719056013 +-5.293696519735375 +-5.779070021316432 +-5.779070021316432 +-6.517263902239934 +-7.381211364357732 +-7.381211364357732 +-7.0331354915004125 +-6.879307882590906 +-6.086378197179109 +-6.4317753705260365 +-6.4317753705260365 +-7.02535085122657 +-6.102671453741573 +-5.641245411154358 +-5.783757057427659 +-5.783757057427659 +-6.461022649077094 +-6.312954030797105 +-5.789336703347748 +-4.887989384985289 +-5.502794181196016 +-5.4551156009928174 +-4.48300366508013 +-4.48300366508013 +-4.333287431662295 +-3.881732250744278 +-4.384638767207654 +-4.10065816963448 +-4.985404116103293 +-4.985404116103293 +-4.985404116103293 +-4.902448541849483 +-4.569126698086589 +-4.953508022300759 +-4.999695650028122 +-4.999695650028122 +-4.223804876616795 +-5.147981547777473 +-5.1358568514328296 +-5.1358568514328296 +-5.1358568514328296 +-6.123153203393821 +-6.2064285184941275 +-5.458970242713744 +-6.242726710806453 +-5.859410637460435 +-5.4988463479301 +-5.4988463479301 +-5.242256693496141 +-5.853739567106572 +-6.5947978392534905 +-6.5947978392534905 +-6.0153268825395285 +-5.65775433160184 +-5.605954994211202 +-5.605954994211202 +-4.752140896493258 +-4.752140896493258 +-5.009037301573254 +-4.125205609461251 +-3.6156671236683895 +-4.603300804976849 +-3.8927027544045805 +-3.9787917087325324 +-3.2902875290313167 +-2.872278988089611 +-2.985100939366936 +-3.7274594674789103 +-3.5312466904337745 +-3.0218913850444844 +-2.186893681764418 +-2.1082859054639753 +-2.3862267094218272 +-2.127481398448594 +-1.5283469182686966 +-2.2046479744868357 +-2.1085481394204577 +-2.1085481394204577 +-2.572580725754144 +-1.9663896865225825 +-1.7155342991688154 +-1.0740819660072383 +-0.7709956836972369 +-0.8638827424420134 +-0.7644711377511907 +-0.3192805173356855 +-0.6366100358390527 +-0.4108123671744861 +-1.3358713481670943 +-1.0213050759539957 +-0.6692538942317228 +-0.6332969714674819 +-1.3254664488838208 +-0.7331219304430756 +-1.5042284507826398 +-2.3450955276147827 +-1.7744869625935664 +-2.717185720222562 +-2.3258828895696233 +-2.526342258762571 +-3.155285376803964 +-2.723510392824765 +-2.8923028127902337 +-3.544806265651655 +-3.9775955260433724 +-3.103335906828886 +-4.001788190701348 +-4.429749963694941 +-5.122850240581678 +-4.62940113136224 +-3.6389155212576947 +-3.76818681434962 +-3.76818681434962 +-3.3887419561425256 +-3.8437516603672526 +-4.128379818768087 +-4.092390391117494 +-4.906043794804705 +-5.0283201151008665 +-5.0283201151008665 +-4.393283173256217 +-3.8944412646036146 +-4.7647592143709865 +-5.73161397618933 +-4.785536791310403 +-5.159239280278151 +-6.080567149497498 +-5.813521164249912 +-4.841743716788338 +-5.679666580480993 +-6.361557527470643 +-5.619689478514482 +-4.831328300960156 +-4.689778541572109 +-4.1257143301841435 +-3.3364815366531806 +-3.2188261080810427 +-3.307112053590149 +-3.462342375669771 +-3.540738779134921 +-4.280965442174692 +-3.4044090922949453 +-3.4436178210781168 +-3.8978527283789353 +-3.8978527283789353 +-3.7102070774038203 +-3.810844038175272 +-2.975635685002255 +-3.4795171181351203 +-3.4049597707780883 +-3.803412213290751 +-3.5795533064546556 +-3.86153263728198 +-3.86153263728198 +-3.6532543533794106 +-3.7356728476076606 +-2.839249465489448 +-2.231475861761351 +-2.5025624140663796 +-2.5025624140663796 +-1.8188616374387518 +-1.2693849677240352 +-0.30059068581852966 +-0.6697844539265464 +-1.3948011564610092 +-2.226886852385478 +-1.9627207018738193 +-1.9627207018738193 +-2.373185320906403 +-2.4027760352498024 +-1.576201542654175 +-2.0369776917500846 +-2.979076353401637 +-3.881282248172506 +-3.5207057999683165 +-3.462910396245082 +-3.1707335948318693 +-2.195805041550474 +-1.4863196527558842 +-1.4863196527558842 +-0.927489479034556 +-1.4328917535795629 +-1.4963001682140153 +-1.8261024365246574 +-1.1181052535823472 +-1.7727034208962666 +-1.8120882743215851 +-2.788809177231672 +-2.0033235321239586 +-2.1476076643640196 +-2.552772851385839 +-2.035273206104014 +-2.734321883508845 +-2.1148421873108827 +-1.3355182701576171 +-1.3355182701576171 +-2.011348247467166 +-1.5551938877447156 +-1.3997076453500938 +-2.3682506967972365 +-3.0919195965048205 +-2.2319838702775057 +-2.606128612327263 +-3.218921206434275 +-4.019177018409135 +-3.5514897772918084 +-4.448926424416181 +-5.173456129700364 +-4.693240570216156 +-3.9452513346053486 +-4.560104265499611 +-4.416775992978277 +-5.100568088996242 +-4.2873243047040965 +-4.880104327449679 +-4.880104327449679 +-4.880104327449679 +-3.886898119216217 +-4.251565460974206 +-4.235203387090635 +-4.319547792896291 +-3.9978035300173307 +-4.984732142965477 +-4.099105030755299 +-4.099105030755299 +-3.685779184103397 +-4.257618949226538 +-4.105886517903337 +-3.555841320809219 +-4.013285837917539 +-3.9581301249817944 +-4.798658535646964 +-4.561799461955688 +-4.906187472901554 +-5.218439919881197 +-4.8498423467843885 +-4.8498423467843885 +-4.077973643495396 +-3.7862356551913607 +-3.1152833852220487 +-4.028627073677507 +-4.680059645295704 +-5.024035597377971 +-5.668683727439625 +-5.750591278128644 +-6.71619374430589 +-5.867881939726988 +-6.004265802025188 +-5.50145498931282 +-4.810406755489563 +-5.0620937236534775 +-5.612476076170109 +-5.612476076170109 +-5.44866032073371 +-4.910728568500265 +-4.1394589580313434 +-3.7521135015543727 +-3.7521135015543727 +-4.4194181308759095 +-3.9831095225409623 +-3.2781837055262204 +-4.1408223569779 +-4.702296999022387 +-4.702296999022387 +-4.712592315086785 +-5.112922996130563 +-5.369091730936324 +-5.0125335851558885 +-5.0125335851558885 +-5.458168513847611 +-5.293979323426191 +-4.883737535900707 +-5.021144193087495 +-5.098737505070939 +-5.098737505070939 +-4.284507602459861 +-3.5747868313757643 +-3.258415754746365 +-3.7123876743136885 +-4.480785571113585 +-4.560580122103361 +-3.893581994731692 +-3.066424309216438 +-3.317044059669263 +-3.4974160240286354 +-3.4340090627699613 +-3.72204428526938 +-4.233356185712704 +-4.233356185712704 +-3.35085266191516 +-4.2558310871989935 +-4.923740812829832 +-4.5136957236327335 +-5.255460614589571 +-5.7260651980468475 +-5.155001150226297 +-5.155001150226297 +-5.041635289730284 +-5.041635289730284 +-4.24365648891133 +-5.013285869375264 +-5.073843542807224 +-4.347711527551458 +-4.134240316054095 +-4.789065404818558 +-4.551968327831987 +-5.094678649737224 +-5.168357100100595 +-4.273949493273659 +-3.95456717857106 +-3.107513327014018 +-2.2226081907759987 +-2.445641898506828 +-2.4785609331282914 +-3.1360473725051508 +-2.9456489117676656 +-3.466162107316653 +-2.710586479881786 +-2.6839702268536447 +-2.4249556676024957 +-2.850695847728106 +-2.5978556276535674 +-2.5394437940471652 +-2.149676144871253 +-1.5096980938162101 +-1.3509467813459475 +-2.0166816937880228 +-1.549341068205062 +-2.0744667938087815 +-1.5258992052993658 +-1.5665002999612296 +-1.6052347601306467 +-1.6052347601306467 +-1.7532823847871937 +-2.3187581662367913 +-2.2927264598134136 +-2.7304985742295944 +-3.2414919684464314 +-2.6506426574197257 +-2.2179061161035594 +-1.6078233765686738 +-1.090236664159789 +-1.3187298750452463 +-1.2238629743461649 +-1.2152621553730292 +-1.708306480982487 +-1.8298857755117193 +-2.644788076433114 +-3.375614426321591 +-3.979460326214916 +-3.979460326214916 +-3.617133468442992 +-4.441659143517085 +-5.019383270033632 +-4.39274015450194 +-3.9801961832143777 +-4.857265224823688 +-4.04448723324273 +-4.202167423502296 +-4.87481307398272 +-5.433717070110173 +-5.9289298811431 +-5.9289298811431 +-5.6389222466357705 +-5.6389222466357705 +-5.6389222466357705 +-5.6389222466357705 +-4.98415868947345 +-5.633779179203198 +-5.010236594311783 +-4.4507953974515475 +-4.221849870077478 +-3.6024311208077737 +-2.9468836428840453 +-2.9468836428840453 +-3.33736746660964 +-2.9081682466749976 +-2.999477471001579 +-3.1171332247048475 +-3.3860846289082045 +-2.656663774021447 +-1.6764208490725971 +-1.6764208490725971 +-1.8994423604602888 +-1.812322269508615 +-1.0626459345032395 +-1.902793820281191 +-1.0829609383429488 +-0.9903191497836032 +-1.5304768065202323 +-2.4256435023199385 +-2.704438182802979 +-3.1453070293362457 +-3.9831236987828715 +-3.0650842667767755 +-3.9058825442018676 +-3.0780366256874405 +-3.2690877812427943 +-3.9258963087612835 +-3.0383809280619314 +-2.7867775776805694 +-2.5079514023971976 +-1.6065385568431578 +-1.1051360422625773 +-0.7546518406206322 +-1.5267953884175651 +-0.7400612563166491 +-1.40531848259378 +-0.7446413039954807 +-0.9161002395470484 +-0.6327489557606291 +0.17715954127654931 +0.778741747422223 +1.2652519932958457 +1.5568096686167872 +1.5568096686167872 +2.4888222526484594 +3.466563704389847 +2.513338369584803 +2.2127685250111417 +2.1909564104389965 +2.7926633912231926 +3.030687073837197 +2.9524808281806427 +2.081866147887637 +2.318152743281924 +1.5250806830537618 +1.0315448526910242 +0.8009288584431494 +1.2970930506040492 +1.2970930506040492 +1.6458619490980586 +2.2815389854100987 +2.398267425372458 +2.398267425372458 +1.4923996701593094 +2.242016578688905 +2.979150081684863 +3.040586601082947 +3.0714497885088248 +3.438832657336644 +2.6976989380982914 +3.040602820613839 +2.6578987592440924 +2.9048824709676695 +1.9306988156577969 +0.9442410035385493 +0.2857537775581547 +-0.5843015720909879 +0.04655545079047174 +-0.5856477992732525 +0.3125074579753837 +0.3786758364097724 +-0.009907260205627932 +-0.16626246029885716 +-0.8971210278416184 +-0.7951693188818045 +-0.04349151087366332 +0.7011219106849693 +0.31649257800138464 +-0.4148265316144605 +-0.9583710738829517 +-0.28389416308584103 +-0.9610681921700656 +-0.5584287233880233 +-0.961038802426299 +-0.29814715593181385 +0.5532502565599453 +0.4708861579595872 +0.6296876767819001 +1.1395194237080117 +0.22165285095183762 +-0.6860599603437294 +-1.0998980568010395 +-1.7972544397605419 +-2.258969812041358 +-2.734918616298928 +-1.830810260118959 +-1.0398145505729077 +-0.9457054458687744 +-1.644521222986518 +-1.993325356606889 +-1.1616403342704666 +-1.3846349147824557 +-1.2367622150345081 +-0.7915732965737299 +-0.8247606927996883 +-0.1344237754580303 +-1.0587209053612816 +-0.21671988932267205 +0.39246602718797585 +-0.41395982604929316 +0.3097018855999567 +1.112169376364747 +1.3443911812382434 +1.3443911812382434 +2.1909681636246345 +1.9891845796466416 +1.9109815781933777 +2.4756526477790075 +3.3786431801245094 +3.3157575010125204 +3.132529178836725 +3.2956712331345237 +3.6183249881396327 +3.531928480596315 +3.0400941118092346 +3.836096478336306 +4.051529218073288 +3.6658458736600275 +3.5809240133125746 +3.0111363791186285 +3.710676060876409 +3.8007327886412337 +4.328802553228636 +4.065052679837585 +4.7305695847159654 +4.989092561819017 +5.85072463053177 +5.8866854416877095 +5.8866854416877095 +5.849138777138731 +4.985920867778534 +4.927601853254851 +5.836089889950706 +6.618258899116752 +5.692639283542951 +5.393334226027358 +5.728247548994989 +5.620158695856423 +4.924321326641098 +5.080973096109425 +4.3609137799444735 +3.5420993126783547 +3.7245936748503965 +4.124784096853043 +3.865472970028043 +3.865472970028043 +4.31492704004371 +4.31492704004371 +3.9521657873192635 +3.7400407742725874 +3.7400407742725874 +4.170325073469622 +3.525312697178747 +3.0025119516125733 +3.3298739507707804 +3.650510331784445 +2.691625249380164 +1.6927095987848817 +2.507348901953927 +2.507348901953927 +1.8817181766202593 +1.1232730388780523 +0.5704745567006233 +0.11191536403664826 +-0.5235041566543454 +0.0006353813139304831 +-0.4570299128362838 +-1.254729367215083 +-0.3796413050508314 +0.20065201695738644 +0.7262086822162337 +0.002263359429490519 +0.6276381826010113 +0.2320838089238596 +0.19667763932393223 +0.7989785400511185 +1.1618581471643592 +1.6091430322895437 +2.597145879552622 +1.8697211508748617 +1.9209177004599682 +2.1966019286142258 +2.4404798615473267 +1.863718768783784 +2.679995184432475 +2.679995184432475 +1.747498657048585 +1.4872136009155046 +1.1840643663233084 +0.5912759497462141 +0.5912759497462141 +1.418390304549071 +2.409513842237727 +1.6354390544420272 +1.9384974474204923 +1.7207109153010385 +1.9381983133864056 +1.6400512929237707 +1.4531737022089728 +1.263018433378154 +1.9801694920190631 +2.8497946752259766 +3.4992294192972935 +4.4572860369801255 +4.175389356748584 +4.039519872195422 +3.7002241150678143 +2.9560188976669215 +3.581207802778544 +2.8350346844716405 +2.0304557932659515 +2.233243227141929 +2.233243227141929 +1.967559438424907 +1.9912922822456747 +2.6274903960199865 +1.9099146274586276 +2.8350961762862603 +3.2114692313726936 +2.9832600462528283 +3.231005939509624 +2.2874825860460843 +1.9388885587194022 +1.0868614695898 +1.0128614285125908 +0.018954785276042108 +1.0140012273984245 +0.7359748401632923 +0.4940319035794032 +0.6298959312799848 +0.23718540062978322 +-0.7138189946300423 +-1.4614313892544293 +-0.7295029591786144 +-1.1020336652421596 +-1.4114157224322499 +-1.5262224963461395 +-0.9530096245399098 +-0.7106961536916354 +0.2664821319012889 +-0.6317699296991033 +-0.7506874791629256 +-1.4313127501406435 +-0.7224960221289121 +-0.3855361416362426 +0.4133358186714928 +-0.452823707376139 +-1.4149048318589497 +-0.8220451983864601 +-1.6590548592449308 +-2.0694537596494698 +-2.6268799967705 +-2.0240550405076485 +-2.875958756826094 +-2.8531608455172854 +-3.0650087582409786 +-2.8077337161743445 +-2.8077337161743445 +-2.2038193803047603 +-2.22761956257307 +-1.7315619065645285 +-0.8246770273095057 +-0.0983341200328205 +-0.9684304602699854 +-1.6405334290553826 +-2.061441886737429 +-1.6340650754276165 +-1.3702159460642718 +-0.5621467927072525 +0.05098541432458226 +0.7725681389929566 +1.6200845060095779 +0.8082216824525486 +-0.12109578162550849 +-0.9307644461878701 +-0.02412658047909 +-0.9302135859698009 +-0.5503782985579531 +0.43601850488392047 +0.5670172349097671 +1.2445394353776613 +0.3669743954869942 +0.04320589964668098 +-0.40218463557239525 +0.039209802508296976 +0.9224408594191116 +1.7763110156120003 +2.7605154936546423 +3.4557878246554505 +3.4122616923053894 +4.222779005841322 +4.222779005841322 +4.222779005841322 +4.966945232326098 +5.7535812299375175 +5.303648134775634 +4.593684464159081 +4.593684464159081 +4.751860323754174 +4.657035766136201 +5.380626872894236 +5.707282492770154 +5.369255248387711 +5.369255248387711 +5.25843785887785 +6.096345395510164 +6.096345395510164 +5.9704137036306175 +5.456806004025777 +4.7551831712891115 +4.2227361181097285 +3.5905326313771497 +2.804854740720108 +1.9905354910790365 +1.9905354910790365 +1.9266753474806273 +1.9266753474806273 +2.2553972091139043 +2.687327686625472 +3.3137966890360158 +2.984207963366919 +1.9893189393704316 +2.2546037740964646 +1.9906332887857867 +2.1824214353891866 +1.687481950065214 +2.158216722269774 +2.6508317149379783 +3.2056087280722902 +3.8289962288202526 +2.97222709631793 +3.9718436553070493 +3.569444738887376 +3.569444738887376 +4.292777595431799 +3.737810909109461 +3.2414858745449737 +2.3394828771286384 +2.3394828771286384 +3.0804214673841366 +3.7629352298637575 +3.7629352298637575 +4.692672575804238 +4.692672575804238 +3.7270449566559805 +3.7270449566559805 +3.349458996316141 +2.6609411153786433 +1.6696797844796925 +0.7376064929648625 +1.3894730128969652 +2.18425533315886 +2.0748862875749126 +2.451857973598319 +2.0289365333514766 +1.8223763425408093 +2.3771209239300246 +3.2067199122043757 +2.638131820640609 +2.714209691680397 +3.651838454642655 +3.9331266364619926 +4.800609403509745 +4.975698835273663 +5.703223264644564 +5.803985510412069 +6.23139173790469 +6.4770298752792375 +5.9685383825209675 +5.030604984827754 +5.133852834993976 +5.138099908406024 +4.642680988100815 +4.149584013688935 +3.7558935295376816 +4.046473061272272 +4.562308877319179 +4.240433818893848 +3.9978881125313324 +4.174335074443393 +3.970259112004676 +3.0390458770576627 +3.0390458770576627 +2.8431696738065626 +2.7061723654474936 +3.2624231877704135 +2.9960063973367803 +3.6851512437937526 +3.342418441318423 +2.5422988330611966 +2.7177424653382207 +2.075639518962903 +1.3229612999865723 +0.5714722138350912 +0.84037632556042 +1.8115095886901755 +1.8792453864076388 +1.2390934900999613 +1.2193878470119728 +2.1556074327690276 +2.2779086018615557 +1.7786890234724209 +1.800387279075709 +2.5301004609446327 +3.3014787898206612 +3.754564725727018 +4.742726475129656 +5.3794508079285155 +5.3794508079285155 +4.792911835292227 +4.411366175852558 +3.9443790925354887 +4.0376741723816 +3.256794958355939 +3.4009785856452783 +2.7883414039811103 +2.781391354015206 +2.781391354015206 +2.8300015505237655 +3.570642356796942 +2.8714434534282542 +2.007558024639577 +2.334869510988461 +1.8641766388570096 +1.2641192235730803 +0.5393634177650266 +0.3856001423858465 +-0.1872309676649343 +-1.0139945336167648 +-1.4527893479795377 +-1.0757846207781574 +-1.8839368853332725 +-2.0472035640040698 +-1.4414182776847875 +-1.0529777109305833 +-0.9385271095222889 +-0.050141809540341864 +-0.12294339620345529 +-0.34118933551284036 +-1.2851406885166794 +-0.8121288607556256 +-1.5138822374264105 +-2.172614083265842 +-1.4146717591402838 +-1.5998976792605952 +-1.7703870457933362 +-2.3943394052873734 +-2.189598270231954 +-1.5237648848765093 +-2.061601558492267 +-2.133880913546647 +-2.827217148437815 +-1.936627756424943 +-2.7121944884155487 +-2.7121944884155487 +-2.744622140415206 +-2.21464885943534 +-1.829817577700936 +-1.7560262409038194 +-2.204430697707745 +-2.204430697707745 +-2.248872420574328 +-3.0107999545481148 +-3.9269779857716385 +-3.9269779857716385 +-4.0513856106882855 +-4.0513856106882855 +-3.076764521907693 +-2.80549564396188 +-2.80549564396188 +-2.5690858129197007 +-3.1701953882230867 +-3.179239867758035 +-3.2437598313460287 +-3.381070217759243 +-4.198217369076198 +-5.039919260115854 +-5.3516571125132675 +-4.973833668374493 +-4.988546397133264 +-4.801849941821555 +-5.199497051144914 +-4.633315089751871 +-3.9686212542257566 +-3.9686212542257566 +-3.143637454270637 +-2.883780305427309 +-2.2945494490794145 +-1.8173030981186298 +-2.1631886706362273 +-3.007030775911484 +-2.704789948864552 +-3.2030615582733772 +-2.5214334121242628 +-2.439649315705264 +-1.587903377307289 +-2.4040228951607183 +-2.8991340053695716 +-3.672802516675419 +-3.0706455296120905 +-2.3606696283647706 +-2.4029909037139157 +-2.0272606492366325 +-2.1547341870514773 +-1.2579156311757107 +-1.8588506597929186 +-1.7672830621949263 +-2.2375618516867153 +-2.9364348702986085 +-2.7186445730939557 +-2.4404226684711707 +-3.026887792906633 +-2.0402573217460382 +-1.9659475535177773 +-1.7289139427687588 +-1.52575300733694 +-0.9268627270736156 +-1.6530645542055498 +-1.6530645542055498 +-1.8774451448967504 +-1.902040193290913 +-2.5637777208876935 +-2.021150866305057 +-1.3714402080978187 +-2.257847377621644 +-2.5760632138501856 +-2.2669746289054453 +-3.004002819718781 +-2.5205248866464878 +-2.456934987212564 +-2.7579291952887415 +-2.2241640771614235 +-2.301812408371642 +-1.8253545293505158 +-1.1917272959763798 +-1.2866762192922399 +-2.0825096159288243 +-3.022994223845866 +-3.2115272979269647 +-3.016958149453798 +-3.568484416866615 +-4.290884297078169 +-4.39432119152991 +-3.6058493253871458 +-3.6370235887799374 +-3.6370235887799374 +-2.791609508835533 +-1.9745752821987916 +-1.9482280292063858 +-2.683700735408295 +-3.4345164551730134 +-2.8114826878047556 +-3.2032590655322997 +-2.3742871954581934 +-1.894413047143757 +-1.8619099628324787 +-1.7221945661878597 +-2.3587326238607624 +-3.1898121452971075 +-2.6762595121198864 +-2.612953292098192 +-2.3115811568149924 +-1.9059466192867702 +-1.5637332327901523 +-2.474935436790285 +-2.0018300722890516 +-2.6988163379137675 +-3.060148803184945 +-2.1083500058193048 +-1.6753891231413935 +-1.179619421867388 +-0.7318476544616506 +-0.26865464627355773 +-0.7730743130713364 +-1.6800700875555168 +-1.3752963425665656 +-1.8954924460504199 +-1.7900273611170063 +-1.5950210244555914 +-0.9425627135359727 +-0.5270836468662323 +-0.002461857467318751 +-0.9884068713088836 +-1.3682612023576102 +-1.250822961078615 +-0.9445476976397122 +-0.5238278589772227 +-0.6069847140340358 +-0.27093272429992876 +-1.0327206274339842 +-1.9407375516510412 +-2.78519636953096 +-2.112317543918887 +-2.02388157168664 +-1.8557992137084207 +-1.8488894556779654 +-2.2618344558730867 +-2.983325155026428 +-2.9828192822042445 +-3.4873618988097244 +-3.872572803521063 +-3.551391612115856 +-4.081980494886999 +-4.81123377758065 +-3.914930357524095 +-3.16950560256615 +-3.670755292617539 +-4.0333131784238105 +-3.10307959869823 +-2.918627436563307 +-2.109641455211036 +-2.927653416488804 +-3.6524281900150033 +-2.752961382256658 +-2.6036397720922713 +-2.9361161869258092 +-2.5877537295074013 +-2.5877537295074013 +-1.6985570638239182 +-2.273394213450973 +-1.5103314319881584 +-1.546812598101182 +-1.5837362286186565 +-0.7890850485451348 +-1.2068137864101622 +-1.9374201241282916 +-2.4045417252897545 +-2.4033955494603623 +-2.057717585661001 +-2.60763290619155 +-1.9199473974057226 +-1.4081668559286247 +-2.2336839564720314 +-2.2765870042349463 +-2.1207285335288804 +-2.4046830268962354 +-1.906700084329583 +-1.3756345623058819 +-1.5693384782282243 +-1.5693384782282243 +-2.2731070864135843 +-1.398325808306814 +-0.8441952365205643 +-0.4326990937111468 +-0.543544943258324 +0.061182095087530475 +-0.5127220741823623 +0.040511828530707894 +-0.6243398503523904 +-1.1508001722968566 +-0.9802834948929735 +-1.4304420500106265 +-1.2430959553023846 +-1.782245017113178 +-1.590271025843211 +-2.0041638923945775 +-1.4905621831421605 +-1.0701699293439835 +-1.48055881007858 +-1.5844769026909238 +-0.8167634147938592 +-0.3187205312407464 +0.022593662333657782 +-0.42716686904318657 +-1.026882524533565 +-0.6920806751687523 +-1.4866790804776893 +-1.4866790804776893 +-1.8144437859139622 +-0.8658535081790228 +-0.3312050322455595 +0.5244004376211933 +0.37670626266739193 +-0.32219320567329224 +-0.01142948145878886 +-0.9188844749283663 +-0.6467104723972447 +-0.7788309990976834 +-0.6635616389210544 +-0.7094783529590166 +-1.6448634754689029 +-1.2868976622436712 +-1.3746535680636418 +-2.089946724134249 +-2.5864069447455593 +-3.2793496114934113 +-2.772390162486901 +-1.909317812299133 +-1.3132996351022885 +-2.049607812016772 +-2.7752717037863697 +-3.1805520252407127 +-2.728053436482741 +-2.728053436482741 +-2.1977704333818684 +-2.2953972847549764 +-2.4762349791333715 +-2.649890454453265 +-2.9420971391619983 +-2.726916025911418 +-2.370369712875553 +-2.0350327739095544 +-1.9247462886422455 +-1.958126060847102 +-2.779639856870541 +-2.9279407402927724 +-1.9280900855504741 +-1.11390059922741 +-1.748026973432694 +-1.9534347389749067 +-1.3401200626740346 +-2.0593127776216624 +-1.3973849249265786 +-1.9110345478763944 +-2.0196153667651147 +-2.4982556106064937 +-2.5226601005807936 +-1.5609366042569395 +-1.838627141279476 +-1.3819299953596194 +-1.6306036197332094 +-2.1916472119547885 +-2.2933799470315526 +-1.4073048598156164 +-0.98534474348255 +-1.0383093516191977 +-1.6347683465059692 +-2.1897606552066127 +-2.1897606552066127 +-2.0508028020599607 +-1.680796211832867 +-1.2414482702351355 +-1.6846632437725604 +-1.3716406679102127 +-0.9889817605452407 +-1.0979047145260132 +-0.22235751952704086 +0.10372115579253016 +-0.4066800817083529 +0.21743205732086834 +0.8013347197879943 +0.03952177669566148 +0.04316535990982895 +0.40581549104780734 +-0.2686671631815398 +0.5130351194352789 +1.2591408712225192 +0.6639244555918762 +0.4489048375476127 +-0.5420309522563557 +-0.27702459404997704 +-0.27702459404997704 +0.3752738135301995 +0.3752738135301995 +-0.08107932790730543 +-0.47397910613218486 +0.20210023851938563 +0.7280666260663838 +0.9646628512021652 +0.2840042706971745 +-0.4851926646843344 +-1.476844802826974 +-1.2609131781357719 +-2.089989810674237 +-2.079770366298444 +-2.6737036661517655 +-3.39558574384885 +-4.24223410643619 +-4.282821097233986 +-5.269646975733547 +-4.963077402269105 +-4.85219669229961 +-5.182059689610928 +-4.215599763646651 +-4.289681781537732 +-3.9508221728338793 +-4.772065571254667 +-4.5995895930889965 +-4.5995895930889965 +-5.255473613778604 +-5.529955014697985 +-4.540183590464464 +-4.540183590464464 +-4.435422488607406 +-4.9206215739332135 +-5.6155512067644215 +-5.260567700828335 +-5.260567700828335 +-4.402979386645248 +-3.8611368615143435 +-3.4464623242656023 +-2.742777251787713 +-3.0809340693026153 +-3.8939775402725507 +-2.951929055541017 +-1.9835815147782732 +-2.4671402807846676 +-1.5874457160932218 +-1.7240420579023716 +-2.60614827620032 +-2.229033444729051 +-2.2595055892830604 +-1.6182735100453018 +-1.2808762537296379 +-1.0290763987337215 +-0.6074489149318432 +-0.47985020681565427 +-1.2042789147748767 +-2.056181788118823 +-2.6202218595957865 +-3.06842975763839 +-2.57168567132232 +-3.0924501540583655 +-3.3218432484051457 +-3.8886498528839137 +-2.9822572018012643 +-2.2493062989631207 +-2.2493062989631207 +-1.8034776162539836 +-1.256080441306002 +-0.6573716515205128 +-0.680794459108036 +-0.27719892039891525 +-0.17794783991730834 +-0.6747997550782958 +-1.176572948063653 +-1.9810446174794687 +-2.4151179318504985 +-1.589911793177816 +-1.4234279125862668 +-0.7304620098293115 +-0.7850907607419891 +-1.1275163085150692 +-0.2873067441697792 +-0.8915666963380326 +-1.8669738388999597 +-1.3793416129433502 +-1.5676328988631631 +-1.3536232454421036 +-0.9907998156224493 +-0.7937171783112706 +-0.1548567904759408 +-0.38479267042255205 +-0.8774417292615206 +-1.6395136133221415 +-1.619278888605694 +-1.1788326170374273 +-0.3410444459372397 +-0.8988546993840165 +-1.838581862926906 +-1.0235524589047893 +-1.1617201778921804 +-0.342025729844456 +-0.342025729844456 +0.4170342724703675 +0.6621880844612491 +0.8790569058808781 +0.6173253932204127 +1.2381473159859158 +1.781443580045987 +0.9676370489340973 +1.3416164278745473 +1.3416164278745473 +1.3986563459919517 +0.8999241557660785 +1.342656412067171 +1.0315481754641684 +0.8490677735292668 +1.7147521695700614 +2.535662109360361 +3.498658886290241 +3.6841570585273264 +3.4875493572115377 +2.6448750435083133 +2.6448750435083133 +2.3095003378108725 +2.4835695636920483 +2.3122791711339343 +2.7021861659270665 +1.7581947107911153 +2.1958771710915324 +2.2370722676921915 +1.9313633236807388 +1.9537574477392352 +1.628155186353505 +2.099758182532156 +1.1752670437507393 +0.5067870740132014 +0.7972095259503993 +-0.20110537114813676 +0.42105056971235055 +0.46855284400959074 +-0.368488339610054 +-0.7178279772950499 +-0.5976190622946614 +-0.872240037003208 +-0.6192103069534374 +-1.3310225507007802 +-1.9933516686612047 +-2.4035724942284316 +-2.0347045790555045 +-1.202926902145221 +-0.5396571443091918 +-1.0566814405442169 +-0.931336568248812 +-1.7918325892707614 +-1.58718861526334 +-0.7798457965410046 +-0.8111954098197368 +-1.5357234412116063 +-2.049390523408236 +-2.0917489189391287 +-1.18659112199518 +-1.9489993016563059 +-2.2161717740463622 +-1.2584482317812589 +-2.1856402258954133 +-2.244882583431817 +-2.511597386158916 +-1.5792695215366923 +-1.9189454668907047 +-1.7330595267988906 +-2.1928547924060644 +-2.1928547924060644 +-2.7614554983817587 +-1.7959055727115247 +-2.1423821051349794 +-1.933963931098129 +-0.9892099693632712 +-0.9892099693632712 +-0.2935396592839936 +0.42895122987501066 +1.215916621677669 +0.710908969366481 +1.0039036447630858 +1.216464249801319 +1.1105872605359957 +1.1105872605359957 +0.9765741631660344 +0.6815641200597073 +0.5133353203788763 +0.33791668316993384 +1.1384853208144827 +0.38919896603905824 +-0.556215590394584 +-0.2534945583281256 +-1.2058541624519807 +-0.6643781906847108 +-1.1390334487783953 +-1.1390334487783953 +-1.7627375698141454 +-2.461028086976401 +-3.0177642584266664 +-2.617774997994044 +-1.780256573455037 +-1.0793184972613614 +-1.4237103435033474 +-1.6116771928074813 +-2.237340503377296 +-2.751980298270729 +-2.706292784078027 +-3.1127047988157095 +-3.1127047988157095 +-3.062945534512778 +-2.2633562168076073 +-2.2633562168076073 +-1.527200857955969 +-2.2024503535755633 +-3.1375437254715353 +-2.3831651816569526 +-2.3831651816569526 +-1.897778954170365 +-1.9248286770462957 +-0.9380124461595771 +-0.6935941560858827 +-0.46365294053883876 +0.3776187528208501 +-0.026173322890719608 +-0.22590672822253977 +-0.7008101195521536 +-1.6208274090117714 +-0.8839675867409822 +-0.5867568399627088 +-0.6466415903614543 +0.20929293819646266 +-0.09383838878934103 +-0.9353960223479567 +-1.001761226415793 +-0.1809100841745439 +-0.6798503367001255 +-0.4279035704345254 +-0.16524016912736028 +0.2065311560737556 +0.15267021704013062 +0.3151959160746687 +0.03479835846965662 +-0.6754604943801835 +-0.5063862342108455 +-0.9500874601108467 +-0.1327030109976548 +-0.19891441300452606 +0.43930894957911615 +-0.15284765230041775 +0.5756118148581827 +-0.17281759184024714 +-0.54289482948634 +0.19352672249395675 +0.11292768287513744 +-0.02017972421540115 +-0.02017972421540115 +-0.23072236790849787 +-0.949111205112858 +-1.3943425789102193 +-1.3943425789102193 +-1.3056320629991387 +-1.4160749803924881 +-1.0970681163271792 +-0.6084613047755034 +-0.6499610307960514 +-0.18245077504503515 +-0.7246775651817988 +-0.2878813188241419 +0.21369747219801283 +1.0187209442772036 +1.0187209442772036 +0.7523696525684419 +0.915859012578445 +0.8695027631613608 +0.45356881826748874 +-0.08647717210214922 +-1.0424833108246285 +-1.519467090988348 +-1.3972712671210505 +-1.136815757995505 +-1.1970362546322524 +-0.9777200612263652 +-0.06911260624168625 +-1.0542806909906826 +-0.6583455877423263 +-0.05765749017002886 +-0.10279527898807828 +0.04759404358917052 +0.7123355857106856 +1.4918035751974528 +2.1546950255042256 +2.1546950255042256 +1.8086700876738568 +1.8457876940644968 +1.1909312708212683 +0.7552685368136663 +0.6902877429354748 +1.6310248781610808 +1.5574507737327665 +2.442711962334017 +1.5535047807689986 +1.3713897015742829 +0.48114669321200254 +1.3054211882897964 +1.7266767441424455 +0.7571026811567882 +0.27992989080864394 +1.1254441111050308 +1.5476958585400082 +1.6900055286606133 +2.0139589907578084 +2.354764342787904 +2.395248541665004 +1.7311692778301973 +1.8303139561065294 +2.2347331833780375 +2.852062540849885 +2.217145921476022 +2.4564522291969886 +2.478122689894149 +1.7430430446802048 +2.27561731367204 +1.7159455562993935 +1.1552849394648776 +1.1052711071597208 +1.1052711071597208 +1.7448673027789534 +1.9245985320699959 +2.36516894864971 +2.0234689371327113 +2.4651637725070277 +1.5598355257635408 +2.46027705909243 +2.378562693470959 +2.613707254120823 +1.7281912614742558 +1.4184483391991174 +2.1610114182013147 +1.384884734813674 +0.5066544995435427 +0.9723896267302234 +1.4903714796801089 +0.5136466576816154 +1.1541762786337044 +1.7826703605818097 +1.7692411393081704 +2.013501520359543 +1.1843315174960551 +0.7953771062868965 +0.1918224864649266 +0.19812963365050706 +-0.7315393339726693 +-1.2695176458135555 +-1.5685471021853545 +-1.7434656337571472 +-1.2073542683592278 +-0.8321744514006439 +-0.0030026424082203462 +0.48902849053822317 +0.15162954486635838 +-0.5298427733227958 +-0.329485439419808 +-1.046663801797775 +-0.8427676850141486 +-0.6389360094518062 +-1.0243529003585814 +-1.0243529003585814 +-1.369503158295596 +-0.5394958238403837 +-0.6068725241548728 +-1.264142554339731 +-0.9107513471445274 +-0.2104860635695367 +0.40074329063557235 +0.9556911446090794 +1.8903766802022455 +1.2482948581882258 +1.806528456270895 +1.986097151986678 +1.0269220945621136 +1.138590369369549 +1.4442269567207848 +0.8007567567803768 +1.6165322989300768 +2.6141656968316385 +3.5276457644469046 +4.054647795798961 +3.5526683686900404 +3.5526683686900404 +2.7700447671950457 +3.395865997546817 +3.0014443694436945 +2.114627053105993 +1.4936761155267058 +0.7066219914989376 +1.2290076458718855 +0.32116389739411044 +0.637473363516373 +1.303293219919642 +2.099169380464759 +2.099169380464759 +2.9079575418326584 +3.294559617445292 +3.9585417338525524 +3.38666000690728 +4.254891048453382 +4.217891228698097 +4.792401777651726 +5.259151586896527 +5.41111811953089 +5.245191162284801 +5.245191162284801 +4.763643161269652 +4.763643161269652 +4.763643161269652 +4.763643161269652 +5.3358432659816835 +4.777466627226511 +4.893824274560529 +5.188451329482273 +5.0237565500986285 +5.0237565500986285 +4.164987369668895 +4.164987369668895 +4.763518733051639 +4.376240792769221 +4.798612846657432 +4.138298091005438 +5.081630520187546 +4.844146990353501 +4.5214217443528035 +4.5214217443528035 +5.054634328865469 +5.054634328865469 +5.553050286686556 +5.070672836514865 +5.415170083317616 +5.3467039846393485 +5.604537457507481 +4.683985621003785 +5.6770847005545075 +6.341258253259024 +6.1112508860574435 +6.089139911479736 +6.9733845203595735 +6.207267332780856 +5.697345159966451 +6.550780298549747 +6.514132005548379 +6.313547742676971 +6.313547742676971 +6.617321881471835 +6.868004232132922 +6.098756183620686 +5.841893861603172 +4.969384232514725 +4.988253809973877 +4.63839217759914 +4.63839217759914 +4.242174792178187 +4.928555329117914 +5.637508571152504 +5.049579367279696 +5.168637112693501 +5.250321937935178 +6.159578222990479 +5.302939160622103 +4.791046921779223 +4.649068686908223 +4.0203638800287855 +4.0203638800287855 +3.6046171132778344 +3.6332333713053684 +3.0005548488718325 +2.162578914239205 +3.0108091469814773 +2.5235843501260784 +2.4684596817136186 +3.0378938319418642 +2.8563797815071927 +3.2987478747133867 +4.124335928408077 +3.7887129157554935 +4.621010928003105 +5.244457759179115 +4.358566832756706 +3.7064565517874692 +3.158217919287716 +2.7288120742988933 +2.562983735876306 +1.8782350585387702 +1.0279130190964552 +1.5618957518140457 +1.5741315043366744 +0.8728153274051829 +0.2416597050719238 +0.6726314815053713 +0.26723046177079535 +-0.6417150490861229 +0.25283333900578475 +0.6132186152624849 +1.3275963037337992 +0.513081348209151 +0.4185562939989317 +0.7395488435731693 +1.3746127136830517 +0.6418724314681126 +-0.12197929803171137 +0.32944342086090317 +1.2873279702073084 +0.47661716815272825 +0.7506983131586022 +0.5825620619906443 +1.5213365270482364 +1.558098454344109 +0.73370532358517 +0.549849845687942 +0.549849845687942 +0.9054033780315435 +0.3189378465282168 +1.0230525794678056 +1.344638736761198 +0.9418323965224878 +0.5197441806491205 +1.5023433335380283 +1.3017039473137344 +2.0136221792207483 +2.0136221792207483 +2.0275501158814526 +1.6632727814919224 +1.3745798013127057 +2.2338756113299447 +1.313229323240684 +1.466837370038901 +0.585771470764082 +1.5053772641687932 +1.444051714957284 +1.4804073400594817 +1.3816969403033679 +1.069664630177217 +1.3104849774332583 +2.218315420684152 +1.337979580046958 +0.5032978179750136 +0.8906926192186593 +-0.03614056181926495 +0.8569202418960575 +0.4711393034784276 +-0.33551309567260035 +-0.23761524407202816 +0.058504950217687424 +-0.22507540534057657 +-0.5899368095326628 +0.1461082427768331 +0.0379744560064037 +-0.41367220002030625 +-0.21032654534264605 +-0.7587192238876074 +-1.663528959775869 +-1.663528959775869 +-1.8693069643694717 +-2.3795119102853297 +-2.6967255955636933 +-3.3214092204745103 +-2.8953070440451807 +-3.7422967932211764 +-3.740022739535368 +-4.182967734759784 +-4.161836494998269 +-3.2163650394061087 +-2.8585298772591634 +-3.7080157280288732 +-3.1113163715552696 +-2.692017691669652 +-1.8452630859954806 +-2.3851649620436666 +-2.4878791556041318 +-3.3875618654831143 +-2.8703059333778373 +-3.2575509300293497 +-4.239890318721043 +-5.14224018902212 +-5.524818033800145 +-5.617297140460864 +-5.617297140460864 +-4.945105504228182 +-4.032417411478432 +-4.707573039617339 +-4.604962985405754 +-4.211877838039049 +-4.70553216169611 +-5.702929122538469 +-5.559282571860905 +-5.457112054927251 +-4.684168023623516 +-4.526516293521387 +-4.7103368841255335 +-4.769789069833316 +-5.456446886676851 +-4.471751961390213 +-3.707302702702771 +-3.5140378704368835 +-2.776758225716259 +-2.827074851496722 +-3.2603921809396432 +-3.466274640785465 +-3.753359229271995 +-3.753359229271995 +-4.462250976101988 +-4.296230254228336 +-3.3255786411744146 +-3.296053480667288 +-4.195088984726236 +-4.194746328913714 +-4.529613079453944 +-4.927020444208355 +-4.927020444208355 +-4.927020444208355 +-4.388569961245125 +-5.253849037158466 +-5.546447830091903 +-5.546447830091903 +-5.017573176760432 +-5.562846164351475 +-5.523631322843836 +-5.765567232348276 +-5.679292099551057 +-5.679292099551057 +-5.568160799480963 +-5.251495040450727 +-5.339426267600846 +-5.339426267600846 +-5.197818900384238 +-5.350390431761304 +-4.751664164495239 +-3.93630743060146 +-3.8762692074606986 +-3.100435025558129 +-3.100435025558129 +-3.257034689352071 +-2.4390033735188763 +-2.539614699537386 +-2.539614699537386 +-3.06173817290738 +-2.63311619585879 +-2.4133693721104152 +-2.757663867280446 +-2.623530867123737 +-2.623530867123737 +-1.7209179103993557 +-1.7579407178124273 +-1.8647589492431913 +-1.7908526918417491 +-1.0358688162041785 +-1.624030289506842 +-1.5044059631843665 +-1.4201383350866756 +-0.6775293473014738 +-1.3908384947011951 +-0.6853722582915693 +-0.5688670999612151 +-0.0947302470210809 +-0.05435221010425684 +0.7055081783860981 +1.1208014786943268 +0.8352324651518713 +1.652251618352075 +0.7441524371876815 +-0.023230631432438642 +-0.825202181147928 +-0.5606149424978828 +-0.2913614799608564 +-0.13512544062934428 +-0.4507506240143223 +0.07219747233859708 +0.43295223585635834 +-0.28287234603601663 +-0.9481877876522243 +-1.743234291841436 +-1.027238686643893 +-1.4346110107696672 +-1.6549082731564755 +-2.451189411706838 +-2.2432017945459206 +-1.3507478420933936 +-1.4836045878679407 +-1.3338321380512403 +-0.9078013950134134 +-1.798541250317186 +-1.0282116520403857 +-1.0282116520403857 +-0.056548317982666685 +0.023808940034719006 +-0.7154753552012085 +-0.19906569773369642 +-0.2107067745095269 +-0.6684007810758943 +0.14580065181113033 +-0.5660405167685212 +0.33373104735273773 +0.6015576208294102 +0.14007942623814718 +0.9859639974463771 +1.7012148292865183 +1.4422124554291855 +2.1289921799249196 +2.6745115355676075 +3.472059216897834 +3.902023531097181 +3.8936416393004727 +3.0819593513306427 +2.531063404592248 +3.0251723861292374 +2.827883528863953 +3.1970574427704426 +3.1970574427704426 +2.4057820433590202 +3.31079422389411 +2.4941937177103535 +3.2674577062981687 +3.416495822648194 +3.0166539575203033 +2.269243031411399 +1.6442144219540988 +1.1223595928132535 +1.0870902549308887 +0.7578189564403363 +1.1962834927467947 +0.3973664781039896 +0.06627688471175552 +-0.5235204498383096 +-0.4169379490692683 +0.19627390190078697 +-0.5608888059683937 +-0.7175489499790351 +-0.013074435109505789 +-0.3437927433848088 +-0.5953237970673246 +0.14421179937023942 +0.7232307900312889 +1.3747073035204873 +1.32249607732277 +1.1400250757250574 +0.6694387029722101 +0.40944565097883157 +1.3602809332816785 +1.3823525966949353 +2.01486973962731 +1.5047967700113074 +1.6603004841450633 +2.1394156314257566 +2.7121280315542373 +2.5310102327858783 +2.608144289038594 +2.9555861098620566 +2.6449643295541256 +2.2476000140315655 +1.7898128087069747 +1.7898128087069747 +1.6042670396950154 +1.7932293087048226 +2.4190342633238586 +1.6121039278887241 +2.3185651085450556 +3.2075082398434 +3.7134224281826604 +3.6456985644666555 +2.945270116343142 +2.6177032238336286 +2.7734616271339867 +1.9355565277117035 +1.9355565277117035 +2.717102028996389 +1.7933490737054987 +1.3922107625814553 +0.7109541366600307 +0.1957591394995304 +1.0009806406228345 +1.737274883395438 +1.2504067273589667 +1.2583226847889457 +1.4641666062352066 +0.8310803962122635 +0.3649884041254231 +0.5499857301014254 +0.7585510000399979 +1.1059599121203711 +1.63982460900901 +0.704812225497353 +0.09523527661163711 +0.6315177185191561 +0.17717400701859243 +0.4000210490512478 +0.42603699804965356 +0.6861778198449598 +-0.16292580698900372 +0.2617154728347849 +-0.19861974570809093 +-0.9343660328988665 +0.016744257570815657 +0.4182157598719858 +-0.20625487128821884 +0.7351543959735396 +1.124202532023118 +0.9902609639266043 +1.3192215544533767 +1.9679501046250345 +1.3480441215444485 +2.1387541367188647 +2.023672205219182 +1.5367948575804187 +0.6117710020914171 +1.2428888112843257 +1.3134703421826566 +1.4933834314884535 +1.466508847997285 +0.936593120759293 +1.62261753695964 +0.8332176317050739 +1.3480072065001507 +0.6801809941344192 +0.19982677067280374 +0.09897171719694953 +0.4932755520367389 +-0.42759371005832514 +-1.2992433133509365 +-0.3023042404680296 +-0.36944764065153246 +-0.5199919661280905 +0.09462696544354321 +0.3848696535923777 +0.8828023416843025 +0.0813769161835991 +0.8234427655742314 +0.007732052429712866 +-0.7942166565802151 +-1.0690442327302563 +-0.5543688256848158 +-0.05201719618390954 +-0.7211024155160504 +-0.922600723288649 +-1.4714259070897873 +-0.697205220474002 +-1.6848534513677025 +-0.7317834736289079 +-1.6081538922575291 +-1.2565203266440357 +-1.2565203266440357 +-1.0009251750877273 +-1.502037107422148 +-1.5939405528565884 +-2.484013076064972 +-1.6832494874956196 +-1.5551307676096582 +-1.053115523946663 +-0.59468658615364145 +-0.19672854768831405 +-1.1870440328190306 +-1.1870440328190306 +-0.5664174010146201 +-0.3524111749828449 +0.4674057927646118 +0.4515685387569942 +0.5979797780876209 +0.46813235182916424 +0.12036903466505555 +-0.6420047128669025 +-0.052580106905467994 +0.6300850914443984 +0.1516285476517154 +-0.7957804662292056 +0.011893632754236716 +-0.1327364114489603 +-0.410875751055789 +0.165935449132375 +0.4310603470914389 +0.6603752623446189 +0.8386423172354485 +-0.03980399683538827 +0.6096152857455008 +0.5800360106620582 +1.1674244326004062 +0.7113115609876087 +-0.021549853688087928 +0.855452189798069 +-0.020230461914902853 +-0.785802460114449 +-0.21395187323555398 +0.4663397649167321 +1.037037136685421 +1.632482497292814 +1.1041594900770129 +1.0347298203743307 +0.43908224478956726 +-0.4778935150518675 +-0.8582681579563215 +-1.0671866046888143 +-0.49180398903983025 +0.16918734688095816 +0.17276492270779187 +-0.7690208783798222 +-0.6117927496000726 +-0.23308769251615713 +-0.973006150275477 +-1.8465777881674883 +-2.346479372113938 +-1.4577050590185667 +-0.5802597507064013 +-1.0856727767615901 +-1.252860748671166 +-0.510480912917298 +-1.0632233061135687 +-1.2651883269644708 +-1.701717222911245 +-1.4765488022473372 +-1.617656826182221 +-1.9264812866242607 +-1.2124433539822104 +-1.851244593599283 +-2.5718478960524793 +-3.4883153569470045 +-3.4883153569470045 +-2.808642174416657 +-2.2019615323110746 +-2.1139920714761455 +-1.454346170430136 +-0.8565187843319348 +-0.49979692039209844 +-0.7656835294528107 +-0.708301012302008 +-0.708301012302008 +-1.374193016285294 +-0.830393139616669 +-0.4776518032817998 +-0.4776518032817998 +-0.4824623226101049 +-0.9914489276805784 +-1.4005520864625398 +-1.4430340303346467 +-2.2889782529352054 +-2.1719954355874047 +-1.6807177347357345 +-2.066481595680431 +-1.7587567558400645 +-1.7587567558400645 +-2.1314436272057637 +-1.8560991542374765 +-2.1081528273629666 +-2.9586926987586972 +-3.711805754490756 +-4.270271190812841 +-3.274913177315538 +-2.7096215863265165 +-2.7189168028899706 +-3.688524386832582 +-2.9009557446697896 +-2.5122388491482344 +-2.9168104880521875 +-3.58802480109035 +-3.457339723798591 +-2.883684979065214 +-2.956058980079175 +-3.810231604282296 +-4.740373180779889 +-4.536861894383281 +-5.17961105568455 +-4.961460447979799 +-5.854789942107238 +-5.545225236206769 +-5.545225236206769 +-5.051348148693604 +-5.051348148693604 +-4.321430210023907 +-4.011708062396673 +-4.39223337296479 +-4.583922130242011 +-4.932691594073235 +-4.3223731238160665 +-4.3223731238160665 +-3.37783391784488 +-3.677059083752827 +-3.5439481789508505 +-3.852945723996005 +-2.93813555336636 +-2.348910622596909 +-3.200170509205484 +-2.428121157220863 +-3.3611628223650794 +-3.341577003684859 +-4.090021825078559 +-3.9902414019926042 +-3.6778040268672703 +-4.067346130918518 +-3.1240293153348753 +-4.107746749474351 +-3.5331814162930093 +-3.7836615691588475 +-4.69057914099289 +-4.69057914099289 +-4.816492423405625 +-4.675775801048292 +-5.6722908128786615 +-5.018841405995113 +-5.018841405995113 +-4.686783059067091 +-4.686783059067091 +-4.069327672083974 +-4.250552327726069 +-3.9468463428371283 +-4.062325236946665 +-3.9730333720810522 +-3.8520384842085638 +-3.4356493032621866 +-3.00580125711347 +-3.086172556351517 +-3.23232163863178 +-3.7759843960006205 +-4.75169588426456 +-4.75169588426456 +-4.75169588426456 +-4.187459757067822 +-4.399789748127272 +-4.256019491194232 +-4.287569220600995 +-3.744065542619138 +-3.744065542619138 +-4.156985464359132 +-3.3966523593882716 +-2.584197105767964 +-2.111987722143071 +-2.111987722143071 +-2.9126540172434856 +-3.267106829903756 +-3.994533780623497 +-4.865591149621935 +-3.9876043230942706 +-4.006515399343025 +-3.3306216860003444 +-3.20426052731482 +-2.5160965572826997 +-1.8260664334155041 +-1.8260664334155041 +-1.272832478180502 +-2.2101360694827523 +-3.0259394611660477 +-3.9599207335303195 +-3.967040904592891 +-3.682450614491995 +-3.7697998272691366 +-2.819605497697472 +-2.819605497697472 +-3.7012706714725194 +-4.395915237534502 +-5.041466332840569 +-5.9209346593043 +-5.688105926397441 +-5.688105926397441 +-6.635088002368293 +-7.3848281616208125 +-7.3848281616208125 +-8.083066931632217 +-8.403804440008761 +-8.403804440008761 +-8.960771361786843 +-9.674369215021963 +-8.918185460385779 +-8.961441872798797 +-9.046358120319233 +-8.809181878488818 +-8.809181878488818 +-8.799520699274566 +-9.155975028302414 +-8.800449331166476 +-8.233527221327584 +-8.10224579128675 +-7.145417874682862 +-7.388154718409798 +-7.071087650816862 +-7.618958969097285 +-7.608163948742392 +-8.060673855219834 +-7.1872395469540855 +-6.273724056606517 +-6.172879138027319 +-5.369771792031672 +-4.441790390246538 +-5.395335413059041 +-4.946607868972532 +-4.629906816214975 +-4.947332143010339 +-5.435167642992356 +-5.627061287262542 +-5.627061287262542 +-6.520201227331956 +-6.26257125827053 +-7.034960319203021 +-6.164400716196338 +-5.278769650526016 +-5.354024620251223 +-5.061870621657998 +-5.061870621657998 +-4.637017444552202 +-5.378561354301953 +-5.590257450860642 +-4.779972133799245 +-5.264809705546142 +-4.279028088011076 +-3.3641468034929147 +-3.5984820781351803 +-3.5329676315761196 +-2.9473868765570774 +-2.9473868765570774 +-3.8153448422930847 +-3.8153448422930847 +-3.5283526661141824 +-3.8566762532000918 +-3.9431555801500835 +-3.6627313395845316 +-3.770947459949924 +-3.346544095273602 +-3.111713673758474 +-3.937305346660585 +-3.84748967456413 +-2.971003059937151 +-2.7352063728003557 +-3.639285726220842 +-3.2010547977676476 +-3.35238241002336 +-2.5000353059952465 +-2.760962544538102 +-2.8348595813969806 +-3.8233353138081307 +-3.663516305252892 +-2.8500938665550857 +-1.966229683699944 +-1.5344894914226872 +-1.3039353699380833 +-1.7775022146476345 +-0.8283743413186211 +-0.8017260422307746 +-0.6888264246539901 +-0.4438221352740068 +-0.8310337725909439 +-1.044095186700404 +-0.8245833356459407 +-1.592157794915566 +-2.2299546337194007 +-2.867176649007955 +-2.312925787219007 +-2.121704434525988 +-2.866534599936495 +-2.5766534989014316 +-2.5766534989014316 +-2.2874738487950017 +-2.4719591330671715 +-2.1411995826499335 +-2.125357076547399 +-1.2743381952299753 +-0.929984800779154 +-0.904539183167862 +-0.10263634327031235 +-0.24458460801151516 +0.4159885631237471 +1.0604955403215968 +1.5307732865484571 +0.9393670416682147 +1.8394142593813407 +1.8616893478001884 +1.083077954398055 +0.39453626025241184 +-0.5984888763253591 +-1.5792940118899443 +-2.3736228828091086 +-2.0608693031475065 +-2.097436687046449 +-2.003857388456277 +-1.983200622076196 +-2.145969312089332 +-2.868041925832059 +-2.490448712474905 +-1.6487249828415007 +-1.415093013037802 +-1.9058267362529744 +-1.4598540076105821 diff --git a/spec/cnn_spec.cr b/spec/cnn_spec.cr index 8493b2b..c4761af 100644 --- a/spec/cnn_spec.cr +++ b/spec/cnn_spec.cr @@ -134,18 +134,18 @@ describe SHAInet::CNN do padding: 2, activation_function: SHAInet.none) # Output shape = 28x28x20 cnn.add_relu(0.01) # Output shape = 28x28x20 - cnn.add_fconnect(l_size: 10, activation_function: SHAInet.sigmoid) + cnn.add_fconnect(l_size: 10, activation_function: SHAInet.none) cnn.add_softmax - cnn.learning_rate = 0.005 + cnn.learning_rate = 0.05 cnn.momentum = 0.02 # cnn.run(test_data.data_pairs.first[:input], stealth = false) cnn.train_batch( data: training_data.data_pairs, training_type: :sgdm, - cost_function: :mse, - epochs: 3, + cost_function: :c_ent, + epochs: 10, error_threshold: 0.0001, log_each: 1, mini_batch_size: 50) @@ -157,10 +157,100 @@ describe SHAInet::CNN do correct_answers += 1 end end - cnn.inspect("activations") + # cnn.inspect("activations") puts "We managed #{correct_answers} out of #{test_data.data_pairs.size} total" puts "Cnn output: #{cnn.output}" end + + # it "Figure out MNIST (mini-batch train, cross-entropy)" do + # puts "Figure out MNIST (mini-batch train, cross-entropy)" + # # Load training data (partial dataset) + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) + # 1000.times do + # # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new + + # raw_data.each do |row| + # raw_input_data << row[1..-1] + # raw_output_data << [row[0]] + # end + + # training_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) + # training_data.for_mnist_conv + # training_data.data_pairs.shuffle! + + # # puts "#{training_data.data_pairs.first[:output]}" + # # training_data.data_pairs.first[:input].first.each do |row| + # # puts "#{row}" + # # end + + # # Load test data (partial dataset) + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) + # 100.times do + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new + + # raw_data.each do |row| + # raw_input_data << row[1..-1] + # raw_output_data << [row[0]] + # end + + # test_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) + # test_data.for_mnist_conv + + # cnn = SHAInet::CNN.new + # cnn.add_input([height = 28, width = 28, channels = 1]) # Output shape = 28x28x1 + # cnn.add_conv( + # filters_num: 10, + # window_size: 5, + # stride: 1, + # padding: 2, + # activation_function: SHAInet.none) # Output shape = 28x28x20 + # cnn.add_relu(0.01) # Output shape = 28x28x20 + # cnn.add_fconnect(l_size: 10, activation_function: SHAInet.sigmoid) + # cnn.add_softmax + + # cnn.learning_rate = 0.005 + # cnn.momentum = 0.02 + + # # cnn.run(test_data.data_pairs.first[:input], stealth = false) + + # cnn.train_es( + # data: training_data.data_pairs, + # pool_size: 50, + # learning_rate: 0.2, + # sigma: 0.3, + # cost_function: :c_ent, + # epochs: 10, + # mini_batch_size: 1, + # error_threshold: 0.00001, + # log_each: 1) + + # correct_answers = 0 + # test_data.data_pairs.each do |data_point| + # result = cnn.run(data_point[:input], stealth: true) + # if (result.index(result.max) == data_point[:output].index(data_point[:output].max)) + # correct_answers += 1 + # end + # end + # cnn.inspect("activations") + # puts "We managed #{correct_answers} out of #{test_data.data_pairs.size} total" + # puts "Cnn output: #{cnn.output}" + # end end # Remove train data diff --git a/spec/network_spec.cr b/spec/network_spec.cr index c1efeca..96a68c0 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -5,6 +5,27 @@ require "csv" system("cd #{__DIR__}/test_data && tar xvf tests.tar.xz") describe SHAInet::Network do + # it "Initialize" do + # nn = SHAInet::Network.new + # nn.should be_a(SHAInet::Network) + # end + + # it "saves_to_file" do + # nn = SHAInet::Network.new + # nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) + # nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) + # nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) + # nn.fully_connect + # nn.save_to_file("./my_net.nn") + # File.exists?("./my_net.nn").should eq(true) + # end + + # it "loads_from_file" do + # nn = SHAInet::Network.new + # nn.load_from_file("./my_net.nn") + # (nn.all_neurons.size > 0).should eq(true) + # end + # it "Test on a linear regression model" do # # data structures to hold the input and results # inputs = Array(Array(Float64)).new @@ -48,27 +69,6 @@ describe SHAInet::Network do # (error < 0.05).should eq(true) # require less than 5% error # end - # it "Initialize" do - # nn = SHAInet::Network.new - # nn.should be_a(SHAInet::Network) - # end - - # it "saves_to_file" do - # nn = SHAInet::Network.new - # nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) - # nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) - # nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) - # nn.fully_connect - # nn.save_to_file("./my_net.nn") - # File.exists?("./my_net.nn").should eq(true) - # end - - # it "loads_from_file" do - # nn = SHAInet::Network.new - # nn.load_from_file("./my_net.nn") - # (nn.all_neurons.size > 0).should eq(true) - # end - # it "Figure out XOR with SGD + M" do # puts "---" # puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" @@ -102,7 +102,7 @@ describe SHAInet::Network do # pool_size: 100, # learning_rate: 0.2, # sigma: 0.3, - # cost_function: :mse, + # cost_function: :c_ent, # epochs: 1000, # mini_batch_size: 1, # error_threshold: 0.0, @@ -224,55 +224,55 @@ describe SHAInet::Network do # training_type: :adam, # cost_function: :mse, # epochs: 20000, - # error_threshold: 0.000001, + # error_threshold: 0.00001, # log_each: 1000) # result = iris.run(normalized.normalized_inputs.first) # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - it "works on iris dataset with mini-batch train with Adam (mini-batch)" do - puts "---" - puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" - label = { - "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - } - iris = SHAInet::Network.new - iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - iris.fully_connect - - iris.learning_rate = 0.7 - iris.momentum = 0.3 - - outputs = Array(Array(Float64)).new - inputs = Array(Array(Float64)).new - CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - row_arr = Array(Float64).new - row[0..-2].each do |num| - row_arr << num.to_f64 - end - inputs << row_arr - outputs << label[row[-1]] - end - normalized = SHAInet::TrainingData.new(inputs, outputs) - normalized.normalize_min_max - - iris.train_batch( - data: normalized.data.shuffle, - training_type: :adam, - cost_function: :mse, - epochs: 5000, - error_threshold: 0.000001, - mini_batch_size: 50, - log_each: 1000) - - result = iris.run(normalized.normalized_inputs.first) - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - end + # it "works on iris dataset with mini-batch train with Adam (mini-batch)" do + # puts "---" + # puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect + + # iris.learning_rate = 0.7 + # iris.momentum = 0.3 + + # outputs = Array(Array(Float64)).new + # inputs = Array(Array(Float64)).new + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + # row_arr = Array(Float64).new + # row[0..-2].each do |num| + # row_arr << num.to_f64 + # end + # inputs << row_arr + # outputs << label[row[-1]] + # end + # normalized = SHAInet::TrainingData.new(inputs, outputs) + # normalized.normalize_min_max + + # iris.train_batch( + # data: normalized.data.shuffle, + # training_type: :adam, + # cost_function: :mse, + # epochs: 5000, + # error_threshold: 0.000001, + # mini_batch_size: 50, + # log_each: 1000) + + # result = iris.run(normalized.normalized_inputs.first) + # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) + # end # it "trains , saves, loads, runs" do # puts "---" @@ -366,121 +366,161 @@ describe SHAInet::Network do # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) # end - it "works on iris dataset using evolutionary strategies as optimizer" do - puts "---" - puts "works on iris dataset using evolutionary strategies as optimizer" - label = { - "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - } - iris = SHAInet::Network.new - iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - iris.fully_connect - - outputs = Array(Array(Float64)).new - inputs = Array(Array(Float64)).new - CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - row_arr = Array(Float64).new - row[0..-2].each do |num| - row_arr << num.to_f64 - end - inputs << row_arr - outputs << label[row[-1]] - end - normalized = SHAInet::TrainingData.new(inputs, outputs) - normalized.normalize_min_max - - iris.train_es( - data: normalized.data.shuffle, - pool_size: 50, - learning_rate: 0.2, - sigma: 0.3, - cost_function: :c_ent, - epochs: 100, - mini_batch_size: 1, - error_threshold: 0.00001, - log_each: 1) - - result = iris.run(normalized.normalized_inputs.first) - expected = [0.0, 0.0, 1.0] - puts "result: \t#{result.map { |x| x.round(5) }}" - puts "expected: \t#{expected}" - ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) - end - - # it "works on the mnist dataset using adam and batch" do - # mnist = SHAInet::Network.new - # mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 100, "memory", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 40, "eraser", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 40, "memory", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 100, "memory", SHAInet.sigmoid) - # mnist.add_layer(:output, 10, "memory", SHAInet.sigmoid) - - # # Input to first hidden - # mnist.connect_ltl(mnist.input_layers.first, mnist.hidden_layers.first, :full) - - # # first hidden to [1] and [2] - # mnist.connect_ltl(mnist.hidden_layers.first, mnist.hidden_layers[1], :full) - # mnist.connect_ltl(mnist.hidden_layers.first, mnist.hidden_layers[2], :full) - - # # [1] and [2] to last hidden - # mnist.connect_ltl(mnist.hidden_layers[1], mnist.hidden_layers.last, :full) - # mnist.connect_ltl(mnist.hidden_layers[2], mnist.hidden_layers.last, :full) + # it "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" do + # puts "---" + # # puts "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" + # label = { + # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + # } - # # [0] & [3] to output - # mnist.connect_ltl(mnist.hidden_layers[0], mnist.output_layers.first, :full) - # mnist.connect_ltl(mnist.hidden_layers[3], mnist.output_layers.first, :full) + # iris = SHAInet::Network.new + # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + # iris.fully_connect - # # Load train data # outputs = Array(Array(Float64)).new # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| # row_arr = Array(Float64).new - # row[1..-1].each do |num| + # row[0..-2].each do |num| # row_arr << num.to_f64 # end # inputs << row_arr - # a = Array(Float64).new(10, 0.0) - # a[row[0].to_i] = 1.0 - # outputs << a + # outputs << label[row[-1]] # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - # # Train on the data - # mnist.train_batch(normalized.data.shuffle, :adam, :mse, 100, 0.0035, 10, 10000) + # data = SHAInet::TrainingData.new(inputs, outputs) + # data.normalize_min_max - # # Load test data - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # results = Array(Int32).new - # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_test.csv")) do |row| - # row_arr = Array(Float64).new - # row[1..-1].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # a = Array(Float64).new(10, 0.0) - # a[row[0].to_i] = 1.0 - # outputs << a - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - # # Run on all test data, and see that we are atleast 0.01 far from the right solution - # normalized.normalized_inputs.each_with_index do |test, i| - # result = mnist.run(test, stealth = true) - # if (result.index(result.max) == normalized.normalized_outputs[i].index(normalized.normalized_outputs[i].max)) - # results << 1 - # else - # results << 0 + # training_data, test_data = data.split(0.9) + + # iris.train_es( + # data: training_data, + # pool_size: 50, + # learning_rate: 0.5, + # sigma: 0.1, + # cost_function: :c_ent, + # epochs: 500, + # mini_batch_size: 15, + # error_threshold: 0.00000001, + # log_each: 100, + # show_slice: true) + + # # Test the trained model + # correct = 0 + # test_data.data.each do |data_point| + # result = iris.run(data_point[0], stealth: true) + # expected = data_point[1] + # # puts "result: \t#{result.map { |x| x.round(5) }}" + # # puts "expected: \t#{expected}" + # error_sum = 0.0 + # result.size.times do |i| + # error_sum += (result[i] - expected[i]).abs # end + # correct += 1 if error_sum < 0.3 # end - # puts "We managed #{results.sum} out of #{results.size} total" + # puts "Correct answers: (#{correct} / #{test_data.size})" + # (correct > 10).should eq(true) # end + it "works on the mnist dataset using evolutionary optimizer and batch" do + mnist = SHAInet::Network.new + mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) + mnist.add_layer(:hidden, 50, "memory", SHAInet.sigmoid) + # mnist.add_layer(:hidden, 40, "eraser", SHAInet.sigmoid) + # mnist.add_layer(:hidden, 10, "memory", SHAInet.sigmoid) + # mnist.add_layer(:hidden, 100, "memory", SHAInet.sigmoid) + mnist.add_layer(:output, 10, "memory", SHAInet.sigmoid) + + # Input to first hidden + mnist.fully_connect + + # Load training data + raw_data = Array(Array(Float64)).new + csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) + 10000.times do + # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + csv.next + new_row = Array(Float64).new + csv.row.to_a.each { |value| new_row << value.to_f64 } + raw_data << new_row + end + raw_input_data = Array(Array(Float64)).new + raw_output_data = Array(Array(Float64)).new + + raw_data.each do |row| + raw_input_data << row[1..-1] + raw_output_data << [row[0]] + end + + # Change digits to one-hot vectors + raw_output_data.each_with_index do |point, i| + lbl = point.first.clone.to_i + one_hot = Array(Float64).new(10) { 0.0 } + one_hot[lbl] = 1.0 + raw_output_data[i] = one_hot + end + + training_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) + training_data.normalize_min_max + + # Train on the data + mnist.train_es( + data: training_data, + pool_size: 50, + learning_rate: 0.5, + sigma: 0.1, + cost_function: :c_ent, + epochs: 10, + mini_batch_size: 100, + error_threshold: 0.00000001, + log_each: 10, + show_slice: true) + + # Load test data + raw_data = Array(Array(Float64)).new + csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) + 1000.times do + # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + csv.next + new_row = Array(Float64).new + csv.row.to_a.each { |value| new_row << value.to_f64 } + raw_data << new_row + end + raw_input_data = Array(Array(Float64)).new + raw_output_data = Array(Array(Float64)).new + + # Change digits to one-hot vectors + raw_data.each do |row| + raw_input_data << row[1..-1] + raw_output_data << [row[0]] + end + + raw_output_data.each_with_index do |point, i| + lbl = point.first.clone.to_i + one_hot = Array(Float64).new(10) { 0.0 } + one_hot[lbl] = 1.0 + raw_output_data[i] = one_hot + end + + test_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) + test_data.normalize_min_max + + # Run on all test data + results = Array(Int32).new + test_data.normalized_inputs.each_with_index do |test, i| + result = mnist.run(input: test, stealth: true) + if (result.index(result.max) == test_data.normalized_outputs[i].index(test_data.normalized_outputs[i].max)) + results << 1 + else + results << 0 + end + end + puts "We managed #{results.sum} out of #{results.size} total" + end end + # Remove train data system("cd #{__DIR__}/test_data && rm *.csv") diff --git a/src/shainet/basic/data.cr b/src/shainet/basic/data.cr index f43d01f..14381c8 100644 --- a/src/shainet/basic/data.cr +++ b/src/shainet/basic/data.cr @@ -7,6 +7,7 @@ module SHAInet @ymin : Int32 getter :normalized_outputs, :normalized_inputs, :labels + getter :inputs, :outputs setter :outputs # @data_pairs : @@ -64,7 +65,7 @@ module SHAInet @inputs.each_with_index do |i_arr, i| arr << [@inputs[i], @outputs[i]] end - arr + return arr end def normalize_min_max @@ -128,10 +129,17 @@ module SHAInet # Splits the receiver in a TrainingData and a TestData object according to factor def split(factor) training_set_size = (data.size * factor).to_i + + # puts data shuffled_data = data.shuffle + + # puts shuffled_data + training_set = shuffled_data[0..training_set_size - 1] test_set = shuffled_data[training_set_size..shuffled_data.size - 1] + # puts training_set + @logger.info "Selected #{training_set.size} / #{data.size} rows for training" training_data = SHAInet::TrainingData.new(training_set.map { |el| el[0] }, training_set.map { |el| el[1] }) training_data.labels = @labels @@ -161,5 +169,9 @@ module SHAInet index = an_array.index(an_array.max.to_f64) index ? @labels[index] : "" end + + def size + return @inputs.size + end end end diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr index 5a87903..5b52a9a 100644 --- a/src/shainet/basic/es.cr +++ b/src/shainet/basic/es.cr @@ -3,11 +3,9 @@ module SHAInet class Pool - property :mvp - getter :organisms + getter organisms : Array(Organism), pool_biases : Array(Float64), pool_weights : Array(Float64) - @organisms : Array(Organism) - @mvp : Organism + # property mvp : Organism def initialize(@network : Network, @pool_size : Int32, @@ -15,13 +13,13 @@ module SHAInet @sigma : Float64) # raise "Pool size must be at least 2" if @pool_size < 2 + # Store previous data to avoid moving towards worse network states @pool_biases = Array(Float64).new - @pool_weights = Array(Float64).new - save_nn_params + @network.all_neurons.each { |neuron| @pool_biases << neuron.bias } - # @pool_biases = Array(Float64).new - # @pool_weights = Array(Float64).new + @pool_weights = Array(Float64).new + @network.all_synapses.each { |synapse| @pool_weights << synapse.weight } @organisms = Array(Organism).new @pool_size.times do @@ -33,21 +31,9 @@ module SHAInet original_weights: @pool_weights ) end - @mvp = @organisms.sample.as(Organism) + # @mvp = @organisms.sample.as(Organism) end - def save_nn_params - # @pool_biases = Array(Float64).new - # @pool_weights = Array(Float64).new - @network.all_neurons.each { |neuron| @pool_biases << neuron.bias } - @network.all_synapses.each { |synapse| @pool_weights << synapse.weight } - end - - # def restore_nn_params - # @network.all_neurons.each_with_index { |neuron, i| neuron.bias = @pool_biases[i] } - # @network.all_synapses.each_with_index { |synapse, i| synapse.weight = @pool_weights[i] } - # end - def normalize_rewards reward_mean = 0.0 reward_stdv = 0.0 @@ -60,7 +46,7 @@ module SHAInet # Calculate standard deviation @organisms.each do |organism| - reward_stdv += Math.sqrt((organism.reward - reward_mean)**2 / (@organisms.size - 1)) + reward_stdv += ((organism.reward - reward_mean)**2 / (@organisms.size - 1))**0.5 end @organisms.each do |organism| @@ -73,22 +59,26 @@ module SHAInet norm_value = @learning_rate / (@pool_size * @sigma) # puts "norm_value: #{norm_value}" + # Sum the relative change each organism provides @organisms.each do |organism| organism.biases.each_with_index do |bias, i| weighted_value = bias * organism.reward - @pool_biases[i] += weighted_value # norm_value * weighted_value + @pool_biases[i] += norm_value * weighted_value # puts "i: #{i}" # puts "organism.error_signal: #{organism.error_signal}" # puts "organism.reward: #{organism.reward}" # puts "bias: #{bias}" # puts "weighted_value: #{weighted_value}" end + organism.weights.each_with_index do |weight, i| weighted_value = weight * organism.reward - @pool_weights[i] += weighted_value # norm_value * weighted_value + @pool_weights[i] += norm_value * weighted_value end end + # puts "@pool_biases: #{@pool_biases}" + # Update network biases @network.all_neurons.each_with_index do |neuron, i| neuron.bias = @pool_biases[i].clone @@ -99,36 +89,11 @@ module SHAInet synapse.weight = @pool_weights[i].clone end end - - # def reset - # @organisms = Array(Organism).new - # @pool_size.times do - # @organisms << Organism.new( - # network: @network, - # learning_rate: @learning_rate, - # sigma: @sigma, - # original_biases: @original_biases, - # original_weights: @original_weights - # ) - # end - # end - - # def natural_select(error_threshold : Float64) - # @original_biases = @mvp.original_biases.clone - # @original_weights = @mvp.original_weights.clone - - # @organisms.each do |organism| - # if organism.mse > error_threshold - # organism.reset(@original_biases, @original_weights) - # else - # organism.update_params(@original_biases, @original_weights) - # end - # end - # end end class Organism - property mse : Float64, error_signal : Array(Float64), reward : Float64 + property reward : Float64 + getter mse : Float64, error_signal : Array(Float64) getter biases : Array(Float64), weights : Array(Float64) @network : Network @@ -155,81 +120,43 @@ module SHAInet @weights = original_weights.clone end - # def reset(original_biases : Array(Float64), original_weights : Array(Float64)) - # @learning_rate = rand(0.0..1.0) - # @sigma = rand(0.0..1.0) - # @mse = 100000.0 - # @original_biases = original_biases - # @original_weights = original_weights - # end - - # def update_params(original_biases : Array(Float64), original_weights : Array(Float64)) - # @original_biases = original_biases - # @original_weights = original_weights - # end - def get_new_params # Update biases @network.all_neurons.each_with_index do |neuron, i| - # Only change value if mutation is triggered - # This alows for some of the values to remain between epochs + # threshold = @sigma*(neuron.bias.clone).abs + # change = rand(-threshold..threshold) # Add noise - # if rand(0.0..1.0) < @sigma - # Update networks biases using the organisms specific parameters - # threshold = (@learning_rate*@original_biases[i]).abs + # change = rand(-@sigma..@sigma) # Add noise + # new_value = @original_biases[i].clone + change*@learning_rate - change = rand(-@sigma..@sigma) # Add noise - new_value = @original_biases[i] + change*@learning_rate + new_value = SHAInet::RandomNormal.sample(n: 1, mu: neuron.bias, sigma: @sigma).first + # puts "new_value: #{new_value}" neuron.bias = new_value.clone @biases[i] = new_value.clone - - # end end # Update weights @network.all_synapses.each_with_index do |synapse, i| - # Only change value if mutation is triggered - # This alows for some of the values to remain between epochs - # if rand(0.0..1.0) < @sigma - # Update networks biases using the organisms specific parameters - # threshold = (@learning_rate*@original_weights[i]).abs + # threshold = @sigma*(synapse.weight.clone).abs + # change = rand(-threshold..threshold) # Add noise + # # change = rand(-@sigma..@sigma) # Add noise + # new_value = @original_weights[i].clone + change*@learning_rate - change = rand(-@sigma..@sigma) # Add noise - - # change = rand(-threshold..threshold) - new_value = @original_weights[i] + change*@learning_rate + new_value = SHAInet::RandomNormal.sample(n: 1, mu: synapse.weight, sigma: @sigma).first synapse.weight = new_value @weights[i] = new_value - # end end end - # def pull_params - # # Update biases - # @network.all_neurons.each_with_index do |neuron, i| - # neuron.bias = @biases[i].clone - # end - - # # Update weights - # @network.all_synapses.each_with_index do |synapse, i| - # synapse.weight = @weights[i].clone - # end - # end - def update_reward @error_signal = @network.error_signal.clone @reward = 0.0 @error_signal.each { |v| @reward -= v } - # reward_sum = -@error_signal.reduce(0.0) { |acc, i| acc + i } - # @reward = SHAInet._tanh(reward_sum) - # puts "@reward: #{@reward}" - # puts "@error_signal: #{@error_signal}" - # @reward = -@mse.clone # ((@network.prev_mse - @mse) / @network.prev_mse) # puts "###############" # puts "@network.prev_mse: #{@network.prev_mse}" # puts "@mse: #{@mse}" - # puts "reward: #{@reward}" + # puts "@reward: #{@reward}" # puts "###############" end end diff --git a/src/shainet/basic/network.cr b/src/shainet/basic/network.cr index ffbfb79..8a5faaf 100644 --- a/src/shainet/basic/network.cr +++ b/src/shainet/basic/network.cr @@ -371,19 +371,20 @@ module SHAInet cost_function = proc end - raw_data.each_slice(batch_size, reuse = false) do |data_slice| - verify_data(data_slice) - @logger.info("Working on mini-batch size: #{batch_size}") if mini_batch_size - @time_step += 1 if mini_batch_size # in mini-batch update adam time_step - loop do |e| - if e % log_each == 0 - log_summary(e) - # @all_neurons.each { |s| puts s.gradient } - end - if e >= epochs || (error_threshold >= @mse) && (e > 1) - log_summary(e) - break - end + loop do |e| + if e % log_each == 0 + log_summary(e) + # @all_neurons.each { |s| puts s.gradient } + end + if e >= epochs || (error_threshold >= @mse) && (e > 1) + log_summary(e) + break + end + + raw_data.each_slice(batch_size, reuse = false) do |data_slice| + verify_data(data_slice) + # @logger.info("Working on mini-batch size: #{batch_size}") if mini_batch_size + @time_step += 1 if mini_batch_size # in mini-batch update adam time_step batch_mean = [] of Float64 all_errors = [] of Float64 @@ -557,7 +558,8 @@ module SHAInet epochs : Int32 = 1, # a criteria of when to stop the training mini_batch_size : Int32 = 1, # Size of batch error_threshold : Float64 = 0.0, # a criteria of when to stop the training - log_each : Int32 = 1) # determines what is the step for error printout + log_each : Int32 = 1, # determines what is the step for error printout + show_slice : Bool = false) # Show MSE for each slice # This methods accepts data as either a SHAInet::TrainingData object, or as an Array(Array(Array(GenNum)). # In the case of SHAInet::TrainingData, we convert it to an Array(Array(Array(GenNum)) by calling #data on it. raw_data = data.is_a?(SHAInet::TrainingData) ? data.data : data @@ -572,15 +574,24 @@ module SHAInet end loop do |e| - if e % log_each == 0 - log_summary(e) - # @all_neurons.each { |s| puts s.gradient } - end if e >= epochs || (error_threshold >= @mse) && (e > 1) log_summary(e) break end + # Show training progress of epochs + if e % log_each == 0 + log_summary(e) + end + + # Counters for disply + i = 0 + slices = data.size / mini_batch_size + + # Temp + biases = [] of Float64 + weights = [] of Float64 + raw_data.each_slice(batch_size, reuse = false) do |data_slice| verify_data(data_slice) @@ -589,54 +600,37 @@ module SHAInet pool_size: pool_size, learning_rate: learning_rate, sigma: sigma) - pool.save_nn_params - # @logger.info("Working on mini-batch size: #{batch_size}") if mini_batch_size # Update wieghts & biases for the batch pool.organisms.each do |organism| organism.get_new_params # Get new weights & biases - # Go over each data points and collect mse + # Go over each data points and collect errors # based on each specific example in the batch batch_mse_sum = 0.0 - batch_err_sig_sum = Array(Float64).new(@output_layers.last.neurons.size) { 0.0 } + batch_errors_sum = Array(Float64).new(@output_layers.last.neurons.size) { 0.0 } data_slice.each do |data_point| - evaluate(data_point[0], data_point[1], cost_function) # Update error signal in output layer + # Update error signal in output layer + evaluate(data_point[0], data_point[1], cost_function) update_mse batch_mse_sum += @mse - @error_signal.size.times { |i| batch_err_sig_sum[i] += @error_signal[i] } - - # puts "data_point: #{data_point}" - # puts "@error_signal: #{@error_signal}" + @error_signal.size.times { |i| batch_errors_sum[i] += @error_signal[i] } end - @mse = batch_mse_sum / mini_batch_size # Update MSE of the batch - # organism.mse + @mse = (batch_mse_sum / mini_batch_size) # Update MSE of the batch + @error_signal = batch_errors_sum organism.update_reward - - # if organism.mse < pool.mvp.mse - # pool.mvp = organism - # end end pool.pull_params - # if pool.mvp.mse < @prev_mse - # # Get the best parameters from the pool - # pool.mvp.pull_params - # @mse = pool.mvp.mse - # @prev_mse = @mse.clone - - # puts "improved!" - - # # # Update pool for the next batch - # # pool.natural_select(@prev_mse) - # else - # # Try new pool on next batch - # pool.restore_nn_params - # # pool.reset - # end + # Show training progress of the mini-batches + i += 1 + if e % log_each == 0 + @logger.info("Slice: (#{i} / #{slices}), MSE: #{@mse}") if show_slice + # @logger.info("@error_signal: #{@error_signal}") + end end end end @@ -651,6 +645,18 @@ module SHAInet @all_neurons.each &.randomize_bias end + def get_cost_proc(function_name : String) : CostFunction + case function_name + when "mse" + return SHAInet.quadratic_cost + when "c_ent" + # raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + return SHAInet.cross_entropy_cost + else + raise NeuralNetInitalizationError.new("Must choose correct cost function or provide a correct Proc") + end + end + def save_to_file(file_path : String) dump_network = Array(Hash(String, String | Array(Hash(String, Array(Hash(String, String | Float64)) | Float64 | String | String)))).new @@ -747,18 +753,6 @@ module SHAInet @logger.info("Network loaded from: #{file_path}") end - def get_cost_proc(function_name : String) : CostFunction - case function_name - when "mse" - return SHAInet.quadratic_cost - when "c_ent" - # raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") - return SHAInet.cross_entropy_cost - else - raise NeuralNetInitalizationError.new("Must choose correct cost function or provide a correct Proc") - end - end - def inspect @logger.info(@input_layers) @logger.info("--------------------------------") diff --git a/src/shainet/cnn/cnn.cr b/src/shainet/cnn/cnn.cr index a3c6c37..5a8e663 100644 --- a/src/shainet/cnn/cnn.cr +++ b/src/shainet/cnn/cnn.cr @@ -348,7 +348,8 @@ module SHAInet when "mse" return SHAInet.quadratic_cost when "c_ent" - raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + # raise MathError.new("Cross entropy cost is not implemented fully yet, please use quadratic cost for now.") + return SHAInet.cross_entropy_cost else raise NeuralNetInitalizationError.new("Must choose correct cost function or provide a correct Proc") end diff --git a/src/shainet/basic/functions.cr b/src/shainet/math/functions.cr similarity index 100% rename from src/shainet/basic/functions.cr rename to src/shainet/math/functions.cr diff --git a/src/shainet/math/random_normal.cr b/src/shainet/math/random_normal.cr new file mode 100644 index 0000000..0e7b98e --- /dev/null +++ b/src/shainet/math/random_normal.cr @@ -0,0 +1,56 @@ +require "csv" + +module SHAInet + module RandomNormal + extend self + + # Normal probability density function calculation + def pdf(x : Float64, mu : Float64, sigma : Float64) + max_y = Float64.new((1 / Math.sqrt(2 * Math::PI * sigma**2))) + exp = Float64.new(Math::E**(-1 * (x - mu)**2 / (2 * sigma**2))) + return max_y*exp + end + + # Sampling n points from a normal distribution with mu & sigma, + # using the Metropolis-Hastings algorithm + def metropolis(n : Int32 = 1, mu : Float64 = 0.0, sigma : Float64 = 1.0) + points = Array(Float64).new + r = mu + p = pdf(x: r, mu: mu, sigma: sigma) + + n.times do + rn = r.clone + rand(-1.0..1.0) + pn = pdf(x: rn, mu: mu, sigma: sigma) + + if pn >= p + p = pn.clone + r = rn.clone + else + u = rand(1.0) + if u < (pn / p) + p = pn.clone + r = rn.clone + end + end + points << r + end + + return points + end + + # alias_method :sample, :metropolis + def sample(n : Int32 = 1, mu : Float64 = 0.0, sigma : Float64 = 1.0) + raise "Parameter error, sampling must be of n >= 1" if n < 1 + return metropolis(n: n, mu: mu, sigma: sigma) + end + end +end + +data = SHAInet::RandomNormal.sample(10000, 0.0, 3.0) +csv_file = CSV.build do |csv| + data.each do |value| + csv.row value + end +end + +File.write("csv_file.csv", csv_file) From caa16775582557d455f3f42168a4854931246bdd Mon Sep 17 00:00:00 2001 From: art Date: Thu, 14 Jun 2018 17:20:40 +0300 Subject: [PATCH 8/8] Added example in README --- README.md | 60 + csv_file.csv | 20000 ++++++++++++++++++------------------ spec/cnn_spec.cr | 170 +- spec/network_spec.cr | 988 +- src/shainet/basic/data.cr | 29 +- src/shainet/basic/es.cr | 15 - 6 files changed, 10688 insertions(+), 10574 deletions(-) diff --git a/README.md b/README.md index fc10a35..4c71548 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,66 @@ puts "We managed #{correct_answers} out of #{test_data.data_pairs.size} total" puts "Cnn output: #{cnn.output}" ``` +Evolutionary optimizer example: +```crystal +label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + # Get data from a local file + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max + + training_data, test_data = data.split(0.9) + + iris.train_es( + data: training_data, + pool_size: 50, + learning_rate: 0.5, + sigma: 0.1, + cost_function: :c_ent, + epochs: 500, + mini_batch_size: 15, + error_threshold: 0.00000001, + log_each: 100, + show_slice: true) + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 + end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) +``` + + ## Development ### Basic Features diff --git a/csv_file.csv b/csv_file.csv index b3379d3..c1ecb0a 100644 --- a/csv_file.csv +++ b/csv_file.csv @@ -1,10000 +1,10000 @@ --0.4682262520681676 --1.1971849657553704 --2.1467975078344224 --2.4513424505503174 --1.5111943652880844 --1.5721972022924078 --1.6939442021402606 --2.3756701820080326 --2.2801784226649993 --2.0980955476899377 --1.1212747016794145 --0.8212877800582417 --0.050461739550796025 --0.7742242653099529 --1.3678518442642613 --0.4160848298580788 -0.4973405234083428 -0.24291438720119773 --0.38307001662033746 --1.3361281845441981 --0.8393997545728755 --0.7957488575729759 --0.9657126472604242 --1.6902851536370642 --2.587587451808786 --2.5448363668227123 --1.6826299819759032 --2.640135564677026 --2.6861855497144815 --3.5033871812223403 --2.833576915220646 --3.1169799330259145 --2.8833721999618414 --2.354753167244263 --1.5174724975233504 --2.4715774663271994 --2.071651016087608 --2.241739355984376 --1.4457990245527002 --0.479711587649327 -0.43017509583249813 -0.591355896809824 -1.445217748646929 -1.4724133238954191 -1.414860548820828 -0.8664647055999155 -0.8008998101580703 -0.7691169286491781 -0.6659468982795945 -0.30801149915098835 -0.49437796394148936 --0.40062684287356776 --1.2244474804435244 --1.998829646450212 --1.998829646450212 --2.0278564898922085 --1.4917016461460435 --0.720282136482036 --0.8267819286395964 --0.3770825430020689 --0.34237436423380674 -0.1784989634996451 -0.009302652440343895 --0.249325636974162 -0.24159433922958018 -0.3215799697713747 -0.386730689428047 --0.44670643414616873 --0.11089974759582744 --0.1850090161194582 -0.7230954594212053 -0.06421348743334732 -0.7679962667778966 -1.5760589022722573 -1.5760589022722573 -1.5760589022722573 -2.5295040337036623 -2.8447969870206933 -2.895861212045367 -2.828146530235074 -2.671335810328856 -3.10453650744235 -3.9589891635419745 -3.5787599479493943 -4.036963999173473 -4.036963999173473 -3.872376356379685 -3.770701445992524 -3.862636091274476 -4.00424876642141 -3.3582935020601843 -2.637254144740516 -2.637254144740516 -2.250570163914073 -2.9060775267941255 -2.7241565658282902 -2.7241565658282902 -2.8813685996138645 -2.3133144620721273 -2.3133144620721273 -2.6732157772887932 -3.631899036053071 -4.224142059385554 -4.224142059385554 -3.6731741272557485 -3.6731741272557485 -3.3319144489749464 -2.8766301092459803 -2.453148531301357 -2.149059907173606 -1.9287064606299777 -1.9383013310130812 -1.139471058505917 -1.6553942380895987 -1.2756253013349728 -0.8164443601563479 -1.430375947377811 -2.18233617425493 -2.3257112200688024 -2.3257112200688024 -1.6549394895951128 -1.6549394895951128 -1.4193342313108683 -1.1016323600795719 -0.1852531701372533 --0.3379946890509189 --0.41475049483409177 -0.5030644021896845 -0.42765147742728704 -1.0519533203918598 -0.2437705699332935 --0.2839531095542498 --0.8348491921239369 --1.5690343415708332 --1.2845407456357625 --1.3033441844186657 --1.6845697740213281 --1.355237273141728 --1.4978406726931528 --0.7029188736135425 --0.2479770161466699 --0.1314547773542445 --0.739556615445375 --1.3031464794559777 --1.0903550348844004 --0.9705695761865496 --1.4906631133888102 --1.8669511769027611 --1.5654893102710143 --1.6375309612299622 --2.4125636616821415 --2.9562040657598465 --3.3962299531447258 --3.750528436647567 --3.1075089158240754 --2.8013382704321863 --1.8983737281893873 --1.574487515465854 --1.9232008635801798 --2.100830077889928 --1.9123664686610804 --0.9792336235243282 --1.1278339326506588 --0.988021719586107 --1.3005900748029733 --1.19821387135832 --0.7993254547911826 --0.18310375004933332 -0.45415168998495137 -0.14287059836556948 --0.4754208446491722 --0.6327167593437821 --1.6053835070536142 --1.2966743117429065 --1.2966743117429065 --1.278406416320372 --1.278406416320372 --0.47183384432879616 -0.15400607017682466 -0.26502384841624904 --0.3663670039034115 --0.6360119091284323 --0.7727825676815545 --0.4839224783312479 -0.3635521064407341 --0.424229583984606 --0.8977823955222438 --1.0836512560353535 --0.9552926353071332 --1.5490348274067198 --2.541593516473153 --1.9089490498006347 --1.5714224210713081 --0.6106413071332537 --1.3961246709920179 --1.6929868913955213 --2.3649335026373364 --1.4453186064049837 --1.4453186064049837 --0.8459839198821462 --0.6732406774317885 --1.4249323163503764 --1.2153534036487563 --0.9188219747463764 -0.06390830728440533 --0.17290454019791712 --0.4017681690677717 --1.0135666685918845 --0.31810732748752923 --0.4353086018294364 --0.5615896508719762 -0.36315869155087177 -0.1906498544149925 --0.4576384312204641 -0.1633764854953429 -0.4958166137388652 -0.9851276353211661 -0.5993407987628565 -0.718965601155561 -0.4388321025973795 -0.18832532690992632 -0.8765274091932242 -1.4565506939774309 -0.4647758342530317 -1.2541826634617357 -1.3321912703722885 -0.9468745400042738 -0.04639045773448369 -0.5195682305416395 -1.0330643738630196 -0.9799464861305861 -1.3556727669293531 -1.6979602428442402 -1.376604407573232 -1.8715389230385342 -2.5415314997268528 -3.4411871161758527 -3.4411871161758527 -2.537374752159681 -2.961124934132277 -3.9426630333520833 -4.181679148736319 -3.610172839631719 -3.610172839631719 -4.599810326991747 -4.598513939118166 -4.893699671091289 -5.225782561982948 -6.08404195261809 -5.9297597966828715 -5.816296866979339 -5.486049080581383 -5.564486817846909 -4.754794558751116 -4.471725437552875 -4.828524093063737 -5.469040250091534 -5.121592806854108 -4.456308319307122 -5.039326717256493 -4.9477496573593776 -4.750579391206524 -4.3459712088159606 -4.382977639785274 -3.581842390815508 -3.5217303461580696 -2.5629884907295026 -1.8593607052412808 -1.1893837838940475 -1.9362868098404016 -1.1426836868933117 -0.985810666915944 -0.6291211535075925 --0.14552187078056567 --0.9381938891050365 --0.9381938891050365 --0.887675248814259 -0.08223215334000389 --0.34574994416619276 --0.6218753982404912 --1.2550057947525806 --0.6773824905100596 --1.4099879214237607 --0.670899437934871 --0.20312428277254657 -0.11657744902119349 -0.649902874546292 --0.25911134189279617 --1.0960141284108111 --1.9583419795647627 --1.086861776165451 --1.4452884587976338 --0.5082864576192454 --0.7182601152634521 --0.9384525496301173 --1.527494091074176 --1.0208661039629565 --0.9531927505036291 --1.394872129285364 --1.5720144340525364 --1.3935968625005095 --1.7560083618505211 --2.32318156329207 --2.628948488680282 --3.5399609166557737 --3.886747639425632 --3.766892232631669 --4.152244476618699 --3.309999064085852 --3.309999064085852 --3.7347807166873848 --3.6745587707865996 --2.9218667279724713 --2.9218667279724713 --2.8960058416463337 --3.026952965533347 --2.3373313823435704 --2.958547207626733 --2.4122971602700307 --3.0843323117477555 --3.59296747906552 --3.59296747906552 --2.652480104625942 --3.489571694015897 --4.227822506681205 --3.84873866188291 --3.744534055236189 --3.694330806175123 --3.711312374628202 --4.088724355952702 --4.600962595204733 --4.600962595204733 --4.978340384999339 --4.996581113139239 --5.180309326848613 --5.866359561953926 --6.38156225567033 --6.38454519919597 --5.535666269571026 --5.59611929574917 --5.59611929574917 --6.4320529017462515 --6.4320529017462515 --6.4320529017462515 --6.151400646284889 --6.906388597333428 --6.734422709531854 --6.031874592078086 --5.380826411995085 --4.398047709108523 --4.629467714260501 --4.3275364471489475 --3.657686640074553 --2.916243259934234 --2.916243259934234 --3.0777213250476145 --2.522014281996502 --3.111447623525015 --3.005185987839366 --2.170903631557437 --2.091759873706317 --2.751487766180146 --2.751487766180146 --1.9650357175571491 --1.7948558111745438 --1.9950018549907087 --2.5804998826550545 --1.706999532077544 --2.0269017317412663 --2.0135621538103727 --2.3097447732284446 --1.3963566336350477 --0.5531500415500938 --0.29987219956364064 -0.12706229909601174 --0.20112939076543002 -0.7789708536216801 -1.5458062569404851 -1.4907548296897626 -1.9283128959328515 -2.674434337399819 -2.1842843611971947 -2.53676912319359 -1.8079281634789774 -2.4636888696078096 -2.735005195230569 -3.095262266210738 -3.5370679347996217 -4.16979541628508 -3.707610775963129 -4.548448571558598 -5.451192097847891 -4.474892340828813 -4.8233841437351765 -4.6578031031118705 -4.6578031031118705 -4.009419678022381 -4.74827042795974 -4.283622956952362 -3.537604512273413 -4.292713232527442 -4.125285100103134 -4.253579731558834 -3.7851859028741153 -3.609950651385294 -2.9441436505101226 -3.379252506551255 -2.7669113321180494 -2.7669113321180494 -3.6638419349915985 -3.6638419349915985 -3.6638419349915985 -4.1645716702454285 -4.1645716702454285 -4.182606046249895 -3.7606115670848257 -3.8739864089738676 -3.6609787171252823 -2.7700127535454437 -3.731335505689491 -3.6707702278724312 -4.362176472170423 -4.362176472170423 -4.0390840106560875 -4.9876468969036365 -4.051141653720615 -4.37524201031713 -3.6431680409663145 -4.590266919879679 -4.114107549418447 -4.060885383628092 -3.5790832084652444 -4.347160197827341 -4.911449105988554 -5.092340079998289 -5.179534516851089 -5.179534516851089 -4.759676606915569 -4.0734158154970626 -3.706180293808066 -4.58048243379922 -3.6799297160500393 -2.933355044416889 -2.5330923316314773 -1.8114282251545852 -2.530875253890826 -2.530875253890826 -2.8972152098036847 -2.2029038513956296 -2.278998471108236 -2.4641662002195175 -1.6016243254929001 -1.3645375817931589 -0.6576922344994172 -1.2621380363031465 -0.8680274806546479 -0.8680274806546479 -1.4076985298322535 -1.4076985298322535 -1.6258451873722912 -1.1841167293079606 -1.5498102897517336 -2.3340081821143497 -1.6879465617560874 -1.083788299522144 -1.815933812456707 -0.9067161433662385 -1.0000295196956346 -1.2523812857692425 -1.2523812857692425 -0.708086350686475 -1.331376626110596 -0.4820637382579571 -0.6496497873854201 -0.2954523616799617 -0.48914754626544543 -0.09187046965733692 -0.8309283231653175 -0.05682077391980633 -0.17965620337818167 --0.32019178405750426 -0.6201700325352862 -1.1074186247010092 -0.7731362551276167 -0.8833554400080351 --0.03395447797969198 -0.8177157662061666 -1.1306235003758416 -0.44533286955409324 -1.156794482370452 -1.8958872355401784 -2.16176547029585 -1.8474508425139011 -2.474021296797022 -2.222073618454676 -1.9910631790461801 -1.0975487450807306 -1.3261728322209465 -1.7779211993822794 -2.1299089304274412 -1.7888224244040694 -1.0046167251551175 -1.7149452878289138 -2.3257385043562744 -2.7781877664372603 -2.035514020135702 -2.0767351574604165 -1.8960502393777672 -2.793434005970604 -3.1936523356917914 -2.8243644688786036 -3.6454013408151917 -2.8029533311124903 -2.110585393505189 -2.959582550553073 -3.718788556801871 -2.7423506498269816 -2.327349047788412 -1.4419076336956025 -2.3867705743280494 -2.785497500708022 -2.4737517552457766 -2.8644437057468775 -2.0513874777927175 -1.6641000479685255 -1.0189049021847763 -1.1315780483405202 -1.295836575801881 -1.0413727410520326 -1.9386493500856652 -2.8036390417203627 -2.7194378341296055 -2.906958788413758 -3.710226211049313 -3.8942794237771166 -4.829116970192122 -4.983252558402491 -4.51865844862626 -3.589958389812888 -2.9702236782337743 -2.0990746850652267 -1.9377182355180427 -1.9377182355180427 -1.9377182355180427 -1.8421720067754994 -2.174458690184025 -1.4269346662665985 -0.82017645424923 -1.6809392559032916 -1.1945355133848534 -0.3004626952866578 --0.10816094379519658 -0.6759544625937904 --0.22435132622900433 --0.4195722550593306 --0.7380228492231006 --0.8025460478642252 --0.6964930905029287 --0.8430670317421226 --1.0011340803134212 --0.9129201649851657 --0.3633641802190266 --0.420932768032107 --0.8034025574013459 --1.283451349653229 --0.9811867091931847 --1.450810143094801 --0.7906533370817186 --0.5408346848418499 --0.048793323552762446 -0.8332246517300355 -1.4872190970628067 -1.6711982102381446 -2.62716021570207 -1.8544351851940217 -1.0347391904165628 -1.473298655924982 -2.441380608955841 -2.1795296340586723 -1.7787716394583346 -1.1624934227718502 -1.419934127887026 -0.5756649392786535 -1.1367995677573928 -1.9483879218374283 -1.8822174669496259 -2.4574358310905624 -2.6072576410854458 -1.6738836611368566 -0.9443731047353514 -1.2786767434839563 -1.4941109988765253 -0.7974444173610087 -0.9012016672610921 -0.05168618844894102 -0.5940962600920097 -0.6684952601031209 -0.09081675732983263 -0.9884342685779623 -0.11082953356392133 -0.4046644749726169 -1.3806263953126652 -1.3806263953126652 -0.6980108390501809 --0.07431550150453736 -0.8377494099762028 -0.3332414623682576 -0.5609603847191749 --0.3348121148159713 --0.06532162684078391 -0.39458105940217747 -0.5395325327106051 -0.651583236934717 -0.8460284355989895 -1.4707724411773042 -2.1554524785157723 -2.0246390540721535 -1.0422914365439644 -1.1041213502301601 -0.6471664268400302 -1.348048220445568 -0.526520274975947 --0.28642126457428274 -0.18512108735220756 --0.293916758918381 --5.0208797408246575e-5 --0.1231663499558997 -0.4631639341220053 --0.0892295460464807 -0.23691963957800843 --0.15770178115585554 --0.0865248939955009 --0.13667529364454634 --0.5848250727908705 --0.6164737733063861 --0.6164737733063861 -0.1020763094228121 --0.8128084743284525 --0.20228717286672038 --0.7136144775566169 -0.2348259071743204 --0.45505678850796993 --0.690511869820044 --1.3564728391534744 --1.6579265185774266 --1.9041029122569926 --0.9649891810728157 --0.1533837953591639 --0.2588488116478155 -0.285170217620926 --0.019689925138132613 -0.6183881601541144 -1.2053240614253617 -1.498440383859274 -2.191345880784204 -1.4093394352852584 -0.8734543630792879 -1.6640870393650866 -0.8208363347784351 -0.4642550451257236 -1.1914569500560357 -0.42597689384346094 -0.9656885784553639 -0.5980991838493869 -0.5462394941643482 -1.4411214221607618 -1.9317289252112761 -0.9751862104867055 -1.8276202118204843 -1.9615301057683756 -2.570260303354088 -1.6386794368169484 -1.555684522906628 -2.169085717398934 -2.2679096061352473 -2.672259179312092 -1.7346874635313834 -2.392717623670401 -2.2917439473683117 -1.7406392853716548 -2.140595509952985 -1.2476491390969884 -1.6415323376389501 -1.6757338195889477 -1.0577626498605655 -0.8602203235897207 -0.7204242418796891 -0.27815351127294685 -0.28026865140850343 -0.5712031309435454 -1.5314207501457902 -1.3248352335659872 -2.2149546379518874 -1.4477963982674555 -0.8369544436103433 -0.25398941380539797 --0.2778750131248118 --0.2635567572503261 --0.2635567572503261 -0.2616925373873986 -0.3625553277100986 -0.2595924539837028 -0.3785625584233353 -0.9609960791056199 -0.7038069336922461 -1.3612729970760142 -0.6406222081040407 -0.767920259925011 -1.6748969682639783 -2.656244270156387 -3.5787744051936743 -3.7365747921673513 -3.0796419990893833 -2.5640949559673953 -3.0219842005670268 -2.0813406237457635 -2.937365345390658 -2.2076905534713673 -1.2813811488114792 -1.5049515951704666 -1.6216527724284842 -2.564186764989574 -1.585624488143411 -1.2000053012493739 -1.641006608101222 -1.517832711438202 -1.391893612589048 -1.5959910022188057 -2.5207071575065347 -2.650757654095558 -2.5065029810902146 -1.8935860141274476 -2.131155881252411 -1.5984310580766445 -0.8120935196147254 -0.08054098532398135 --0.43446924596840586 --1.1856014560993493 --0.7314454458943114 --0.7314454458943114 --0.3201754034662436 --0.15779654582281544 --0.06629530473116252 -0.0683787436827541 -0.5966222680287843 --0.3210712225960104 -0.3391211718572691 -0.9807095410384239 -0.512166218842583 -0.3800161220280043 --0.36357480050859436 --0.07382131253324742 --0.752980218605303 --0.2713810028336967 -0.0722666675812238 -0.8883061516173463 -0.6593148077412206 --0.244457572208301 --0.49187732942405304 --0.366601649789275 --0.9918221362996082 --1.498658044870113 --1.81880085718017 --2.577201074073038 --2.8807849944477915 --3.1331900317396375 --3.409274557575383 --3.444514724364974 --4.258367638162361 --4.136735887528378 --4.574975277541642 --5.022984195761793 --5.022984195761793 --5.022984195761793 --5.022984195761793 --5.022984195761793 --5.886091777569607 --6.880460131839843 --6.880460131839843 --6.523335498195978 --7.111721932004894 --6.957774383424117 --6.848010452710329 --6.131357741938238 --5.893518599036051 --6.835528673907858 --6.12232890905645 --5.9570673336134385 --5.573715959620344 --5.073860786662053 --4.624388740443415 --4.00221333234017 --4.316545210688393 --3.9205213326098955 --3.546969518756568 --3.4996159330244194 --3.2320518902283575 --2.350360943663936 --2.4556185279013816 --2.505247257410307 --3.400792311052582 --2.401744582549258 --3.133222245702441 --3.2297442192554766 --3.714177539249567 --4.140665132449052 --3.4589808776670834 --3.5340376411257415 --3.7287502326858917 --3.7287502326858917 --3.1120739890211233 --3.094098604035652 --3.335087498380693 --2.7501320598011256 --1.8494514047540187 --2.372346058510027 --2.002482392990679 --1.0295596338905768 --1.2427737012558437 --1.8883170237902789 --1.0122386464897735 --1.3215679601517536 --0.9860597184550031 --0.4544043401888045 -0.18578971300082747 --0.459989102147609 --0.442191977924024 --1.1701248932029154 --0.1740800991020517 --0.10279397842933391 --0.02775591927428067 -0.4035826179617754 --0.1836084211274116 -0.6456704015152934 -0.6441923795101537 -0.8020616468842033 -1.7756393775862551 -1.9248651951510258 -1.0242548338615545 -0.4734632594027868 --0.16479923833114873 --0.12930618800608507 --1.0300949535362232 --1.8706129400644127 --1.8706129400644127 --1.9217615076448036 --1.9217615076448036 --2.4616021653983453 --1.732530567326142 --2.27950663185858 --2.524576605184235 --1.801939181995868 --2.3931305471181226 --2.8324418372691307 --3.7214361264717053 --2.9257094787285807 --3.733913413814869 --4.309563140870347 --3.3285599594976514 --2.442311700641052 --2.888993823923891 --1.9884569331878055 --1.7245716466719867 --1.796575425398875 --1.6954780794370512 --0.7035118240881995 -0.03714148635835124 -0.6664679667898141 --0.11506971193777815 -0.7504656244191485 -1.3468935521003187 -1.018095833081992 -0.7557932986076822 --0.17117894915460663 -0.4281985416659605 -0.9168513430274702 -1.0510306781112964 -1.8481356059264313 -2.0170316500179006 -2.23150317154081 -2.42071660923817 -2.308227595831599 -2.7990951533609065 -3.659163456680875 -3.1133219959107965 -3.527740191762767 -2.8850854922277405 -2.662049902505388 -3.0358122567418904 -2.2642505449585517 -2.522217180227135 -1.8833081333933839 -1.7530519030556628 -1.921476564617533 -1.0251250428595728 -0.5749146598635572 --0.0736467113496927 -0.10053979708779359 -0.7276497860579417 -0.5115101660750079 -1.4775277359844152 -2.2962790714236854 -2.4307662025705166 -2.8951449213844844 -3.426613113080636 -3.299717977105172 -2.52083124827802 -2.52083124827802 -2.3705726004150587 -3.3572368593291726 -4.349542442375827 -3.912442417334159 -3.4867944423262576 -3.2850922081014207 -3.6444328705016265 -4.221607317518169 -3.795347597800233 -3.795347597800233 -3.873338821814961 -3.052931716472796 -2.9708065423346173 -3.5670264024565985 -2.7423861430706196 -2.4494515712627405 -1.4958720028549843 -2.217705717642966 -1.7572277692890284 -2.4674191043887097 -2.5037291888977213 -2.068559808240118 -1.8570656481903196 -1.8758001942984048 -1.3477523378590888 -2.340574155265598 -2.7280702981723675 -3.1974579869615027 -4.139029742644539 -3.629706705764665 -4.211193572333035 -4.866427700252905 -4.382881951281549 -4.0613243052899195 -3.85699249236473 -3.018825173916894 -3.018825173916894 -2.7705384068896506 -2.9786039638380384 -2.8066043421959805 -1.9324025288229816 -1.482977353590731 -0.7148885061312344 --0.011691477368253045 --0.33588413076959067 -0.5876506299511907 -0.8068542368749293 -0.16174531035682616 -0.16174531035682616 --0.6663913625068926 --0.5547584573167222 --0.037280809751043864 -0.9152530440898604 -0.6751076527233144 --0.1416161591797318 --0.8568072074733419 --0.49149126245677555 -0.15000754198504396 --0.04367665076272098 -0.16947793902767605 -1.0183833685505697 -1.086450375044315 -1.6857429442227958 -1.4132861461108672 -1.6110644459638 -0.7260763473408383 -0.7904312829274263 -0.8200103960012226 -0.39019279249371863 -0.25964885735621834 -0.04666230775786684 -0.15923086730828506 -0.01533700340301336 --0.3991809333073594 --0.4612712316147445 --1.1457201207109158 --1.0847907904789622 --1.7696269441538868 --2.322617218148934 --3.063822847974028 --3.7817340091817275 --3.2334331565240966 --2.595134293614385 --2.821665368252865 --2.7802390554072587 --1.801372284101367 --1.8206209837628178 --1.8206209837628178 --2.4029118710991195 --1.8248570060358267 --2.468786959860316 --3.3572890423644752 --3.3572890423644752 --4.131781060275587 --4.384542997662697 --4.384542997662697 --3.5099016043519256 --3.9187420623096507 --3.7470984291410065 --4.144897073205445 --3.544025597990278 --4.1176863085152124 --3.284939938021058 --2.95697123377039 --2.24971565147949 --2.4395322411750375 --1.674506910603931 --1.0356296270714667 --0.58194647769144 --0.8436541886918795 -0.002480483228455621 --0.7541664018335362 --0.7523585660644484 --0.36560667452657813 --0.9766323398552844 --0.28528459507959114 --0.5562816018274466 --0.9300526234396432 --0.8432835188397726 --0.5152019999079519 -0.10252246328136982 -1.0493725718624303 -0.2767094195066324 -0.09673808589230004 --0.07879852938034793 --0.9595295458534758 --1.244735775243341 --1.3014648535773756 --1.0763976702765627 --1.066841997465497 --0.2754362429290118 --0.741229718146235 --0.9161049960860153 --0.4098927722893795 --0.9498056288431258 --0.38080210284729565 --0.6471268086142842 --0.3163815161962159 --0.5594729464597883 -0.19275209369970203 --0.21810340437262477 --0.5455568796664805 -0.32023136990854706 -0.014819387296434283 -0.3464806368541601 -0.7304075740424948 --0.22817569837784968 --0.8140579028891729 --0.6486925089166568 --0.5928504106367546 --0.48112938764454294 --1.1590113696000643 --1.1590113696000643 --1.4489225292509316 --2.069012502192922 --2.737023234882971 --2.3347660551098763 --2.567358225978549 --1.792321000939012 --1.7653915095809378 --0.8531424233705849 --1.1955351806654444 --1.3252645401852154 --1.8027040739901974 --1.2589842330474006 --1.4753215573068763 --1.7828708297762175 --2.4046367903906782 --3.2664830925484685 --3.2450490136614363 --2.523282220030211 --1.6008815155480356 --2.2628386191621814 --2.2308182894990334 --2.110505313403931 --2.110505313403931 --2.546531360818171 --3.2887335415795205 --3.292737841997488 --3.3529306832601646 --3.3656545597147995 --2.642696708375761 --2.7873966898088276 --2.8462794955536608 --3.6453696841023486 --3.760634454592547 --3.760634454592547 --2.9722848431140947 --3.9137805166623743 --3.271607643774135 --3.788914787911046 --3.425540675998287 --2.4887261957602425 --2.531129140299913 --2.6722092888495026 --2.5931489145790687 --3.204102640096935 --2.5684532892405665 --1.661597561291855 --1.1113269648325859 --0.24711512478689723 -0.06565155198528583 --0.3999576389885203 --0.9145777038768322 --0.7993908216529667 --0.6261868843863755 -0.2224362590989747 -0.17433178963881013 -1.0430196143658736 -0.11328897216868317 -0.802241453914291 -1.7416918317567638 -2.7093256790612066 -2.399987653898386 -2.4415927495254883 -2.693129324813774 -3.5261160229309714 -2.9247816662831703 -3.0152253258226507 -3.844031098828825 -3.154038903186488 -3.154038903186488 -3.6143540314907163 -2.6894727259026063 -2.062894483492837 -3.0186843567018675 -2.64934268357148 -2.325820210026034 -2.2165744773670193 -1.6852508244708357 -1.6559975546202832 -1.9886304312607186 -1.9886304312607186 -1.5069480338794912 -0.9986727410601361 -0.6009054714866296 --0.30054670637921677 -0.6278860268814738 -1.360065166102777 -1.3794848719598622 -2.217587487673254 -2.8812989091440175 -2.5466008228610075 -3.2149063663885125 -2.9637224864533076 -3.4218598621852765 -2.658677792533009 -1.8267896674371085 -2.287077636787232 -3.0165529552760812 -3.0144053310769396 -3.996943368329541 -3.0293921609044956 -3.3329585887279505 -3.857577285108088 -4.303959698094134 -4.303959698094134 -3.766548171204399 -3.947572181046847 -3.8958848932828296 -3.1071112975948134 -2.19388031912875 -1.200433038434023 -0.29348458865199345 --0.3255300331584765 --0.8499821243545183 --0.3775717895146975 --1.345281670250652 --1.570041178943283 --1.4791042366044638 --1.4791042366044638 --1.5650250281882316 --2.1792856707062285 --1.284556489833773 --1.9268519895488398 --1.8002316505318836 --1.0404629981437286 --0.41637074241976735 --0.2752543625985213 -0.6465761388516846 -1.3306636924847515 -0.7940058567454849 -0.8544619947447403 -0.3615031881791585 -0.7597254001284078 -0.6210851950011662 -1.1699657669283134 -1.78963129260218 -2.0661239133250113 -1.2395178576558439 -1.4667327640944838 -1.846820654969554 -1.539096757224852 -1.3583470226501424 -1.4170034977695112 -0.5855518198170544 -0.749947238283146 -0.30642455308415173 -0.2606615753162509 -0.655695465377939 -0.9570368191847307 -1.6463906853169812 -1.9100676694899372 -1.3231002610697664 -0.6611498975367465 -0.7248120733666437 -0.24798142895673114 --0.6970995267888919 --0.5532226214852397 --0.32938240716702427 --1.3247911568585322 --0.44705264042564985 --0.9052379800830198 --1.0177109396092054 --0.5350729062844177 --0.5350729062844177 --0.7098748181797973 -0.22846946712153648 -0.9825522348448584 -0.8357867073951086 -0.3119029962602651 -0.2505127354480031 --0.16442868570639346 -0.5506909639771407 --0.14193809601622087 --0.8835511046132845 --0.6976780457459455 --0.879621104941937 --1.7802660182539585 --2.6047035657410316 --2.1378020835243694 --2.3826217829033767 --2.589081156144736 --2.934233797369366 --3.3859240390992555 --4.239856103882288 --3.6262408473002528 --3.6262408473002528 --2.649050059447486 --3.1660402739887474 --2.661156152157162 --3.6433032143372177 --3.9375241008388797 --4.018531243158328 --3.5572869216889416 --2.7997642993641945 --2.647116270877941 --3.363546316314262 --3.363546316314262 --2.482522993052683 --2.1446165994495656 --2.1695959086187857 --3.0293526041278493 --3.638558201819738 --2.995639092575818 --3.7595485407302425 --3.1492966626722403 --2.4439006778514183 --2.767906509901031 --3.376904677098481 --4.039770485710888 --3.1405789709237695 --3.2609952852991535 --4.028156829187358 --4.053562914917275 --3.1390196423625665 --2.8932297234952333 --2.8957062858211353 --3.427868986780198 --3.0309255618576447 --2.1796676418929493 --2.1796676418929493 --2.1796676418929493 --2.8578723025484583 --2.8578723025484583 --1.8742236965350618 --2.4163393301559415 --1.9079857276356766 --1.7178756729391553 --1.9904646188062354 --2.7453487047757106 --3.5263579213912486 --3.0062016547286694 --3.218967122666421 --3.2356722789676295 --3.419341383163756 --3.5763347525863525 --4.226254416732365 --3.6822178380925754 --2.7185952156592457 --2.401186921151261 --1.6864810313418237 --2.1878863500287054 --2.551038069001048 --2.44147966271437 --2.4434318625291507 --2.739688377884727 --2.0790181487087325 --2.0790181487087325 --2.0790181487087325 --2.7453127021394 --1.8971235784225076 --2.3615452971331945 --2.6254491464850056 --3.3477878506192855 --2.7674770704437535 --2.206048983479244 --1.3366115555336486 --1.3203610199030964 --1.0251925667086788 --1.5859107626480362 --2.393349478417578 --1.9247063718470492 --2.9219782330986894 --2.8312678414711208 --2.0174471560026355 --1.1794721492327696 --0.7444853088547441 --0.08751320463573387 --0.6901660269658754 --1.5997820968277994 --0.7825143414550537 --1.4046297096688696 --0.5790466506530005 --1.5223384742866786 --1.3083549333114746 --0.3770664550705731 --0.49494314651031346 -0.19667483408384634 --0.31765202480485877 --1.0351654099419347 --1.5152857950185554 --2.3167868732683536 --2.3167868732683536 --1.9790375113168428 --2.71028426260962 --2.572638369136479 --2.223973328690982 --2.744270892557241 --1.9441751071777562 --2.8945479519804262 --2.492715594274622 --3.2221537298911285 --2.6787170779463247 --3.448147742661803 --3.448147742661803 --2.899393724128878 --2.835746338400289 --3.066038742540912 --3.2960742826973264 --2.777860733884169 --2.1565244831347528 --1.829954040378647 --2.387672357319439 --1.4495487573678913 --0.9097032279117032 --0.7346534441314749 --0.8576429562244471 --0.6170719384398687 --0.04885899831397744 --0.18621539348243354 -0.7567869416197277 -0.1581226604617414 -0.42711741020565697 -0.7234284918175016 -0.7245461912619491 -1.0489620659389771 -1.7651883727538915 -1.2637049051613016 -0.53403257056937 -0.9719152286608148 -0.974401789828139 -1.4215327739731054 -0.6169892664527128 -0.38100323097273103 --0.3071094456421458 -0.5860877436498443 --0.06650519583488979 --0.09509300693388512 -0.17011973636988098 -1.0153088245689665 -0.4912642032818575 --0.3570021064039923 --0.3973297955662144 --0.6203636471152492 --1.0581280997709217 --1.942996209741395 --1.9010449332243922 --1.6237274851218675 --1.0814410280528877 --1.1230398845689415 --1.941400832578543 --1.7857716085864626 --1.296244646027568 --1.5375256113512386 --1.029931495836802 --0.2904044789675344 --0.19756391180356903 --0.6703305581070506 --1.3293108990438305 --1.0389131152592574 --0.651762673093337 --0.6122772335144362 --0.8545660822598619 --0.7868457070666804 --0.3001178749360084 --0.2317262590032091 --1.1125071839571814 --0.9934014351797242 --1.8574549270872 --1.5077734234273703 --2.0005442112950282 --2.80864017104874 --2.3732787695139423 --1.9819966327197267 --1.9819966327197267 --1.7924366752252374 --1.6726269053850065 --1.1994971209543763 --0.9298675223848276 --0.5801521735198392 --1.3482235517866565 --2.281957994464711 --2.281957994464711 --1.7768050519014054 --1.8497718236316998 --1.4761631297282891 --1.962718080849558 --2.1340696994289114 --2.7782607454949924 --3.509965902193356 --3.3417008501534737 --3.5719041867270476 --2.9237301202188766 --2.0385341615928274 --1.6690040451697772 --0.9850281580111615 --1.1950784368133855 --1.156530391988707 --1.0951557589179683 --1.957051162750477 --2.0184580300605397 --2.0184580300605397 --2.1705587593358318 --1.4962931179477565 --1.7900335816981081 --2.285039413229796 --2.8065724894825563 --3.0891669760646843 --2.6583247887212185 --1.8115401491387944 --1.2298788909928813 --1.921175705688006 --2.2078184913728482 --1.9415394952621146 --2.0188848252240574 --1.6417815185424232 --2.467037665821052 --3.17524607999013 --3.17524607999013 --3.720734945399597 --2.798493677532283 --3.0920044976587167 --2.6006786635904793 --2.6006786635904793 --2.545944585211058 --2.7381042453720195 --3.3621392088109223 --4.026487538489111 --3.2375901379025396 --2.8389645956158027 --2.676130558440261 --2.676130558440261 --3.5107143248279264 --3.877290258224254 --2.9005850833925084 --3.593670689538496 --3.593670689538496 --2.7516031115219253 --2.836955060570263 --1.9160206817803238 --1.3029138474520443 --1.0143386379925825 --1.0721025176741428 --1.2118925331391681 --0.9343040201291835 --1.230320395193067 --1.1071953104087648 --1.1114374275277301 --1.62468095026971 --1.1295422963052995 --1.2222876251346415 --2.0341067141481313 --2.5969902972785865 --3.51467500652348 --3.821619895879564 --4.691490708884643 --4.720695463087192 --3.8010505173528153 --4.106273451440462 --5.1021325856640125 --5.0175148628582535 --5.387151439511896 --5.399385043178259 --4.718803108765923 --4.6353927472861765 --3.9189474407978295 --3.274451643080806 --2.595763393825755 --2.9026630253832346 --3.7046258023107264 --3.4349973236654154 --4.243899394797768 --3.352799169949039 --2.487610013557826 --3.3233333444716555 --3.7496403498850426 --2.8991772915149703 --1.9102595804540818 --1.806384749687152 --1.0419654276509962 --1.8689800326796984 --2.0784799420125983 --1.6958749959080681 --1.7874763852373592 --1.8324584819905056 --2.304791013709914 --2.11425620531201 --2.539066854399488 --2.4314071699034026 --2.976974257375193 --3.1651485764947846 --4.130493060463829 --4.157767929922013 --3.970903666785314 --3.8640891343948667 --3.360970557871907 --2.798690478263052 --2.798690478263052 --1.937255045860567 --2.5923876568344024 --1.745317341629881 --2.061491122485352 --1.5002186977050682 --1.1524006708312475 --0.6086867270966612 --0.04693796875934719 -0.6611421609261687 -1.3068218819428008 -1.5113475786669874 -2.1513472102851026 -1.3298729495265451 -0.7388023735314695 -0.6101222875615738 -1.0169452973423283 -0.2825486849654697 -0.842850372904697 -0.4046568134197731 --0.36011255629138283 --0.5968095159413507 -0.10201630394675387 --0.8818694494096728 --1.693577242973538 --2.1196245331757066 --1.3184374018087213 --1.6826120192134102 --1.7951905969783128 --1.411516328069823 --1.137509923905707 --1.5743634453194728 --0.8516900442402098 --1.0144807174542216 --0.462835061361905 -0.20134707517609884 -1.1925287101300528 -1.3272750101236652 -2.0152701949003493 -2.0152701949003493 -1.6211871453469917 -1.515860098564353 -1.2895116389690173 -1.8723951527873182 -1.5331229345149127 -1.5331229345149127 -1.6651704317665066 -1.5002883869021573 -0.8013447946747958 -1.456261073035351 -0.8967444583119655 -1.453881055096259 -0.7983656008679785 -1.4476297644217198 -0.7811310092759003 -1.312019357353579 -0.6493871047050119 --0.1664653077966507 --0.8850005207419476 --1.1280033673473446 --1.0771508619871106 --1.0214023733250674 --1.381258088430347 --1.5802717483754356 --1.1929878689712903 --1.1929878689712903 --0.4932960606378012 --0.007938899260914178 -0.25189062322100586 --0.6411366421960161 --1.5806741447199628 --1.658149390581726 --1.6626379234925182 --0.923863622563468 --0.64247262803881 -0.27417932288885627 -0.2652447049440342 -0.9959159856116512 -1.3011041306626163 -0.9509264032413446 -1.0592498580739922 -1.6857890929105612 -1.1862818930051864 -1.4747040845376935 -2.291800495825994 -2.24304919283291 -2.0237570957413635 -1.8694196552676279 -2.415577487518285 -3.0466032327710275 -3.0466032327710275 -3.1215752006490916 -3.1888964513242826 -3.175236421592069 -3.4386418474508416 -3.2352168736688833 -3.888018712519015 -4.092280789234812 -3.6591930246746904 -3.1912320083893784 -2.7248291048251727 -2.793503924359957 -2.287614384956005 -2.844108187491573 -3.8032452140529953 -3.5109365178920355 -4.416417005961826 -3.5719982539911586 -2.9283570064109217 -2.231379112743368 -2.153250791068884 -2.353804065582061 -3.1215832711161933 -3.60433508189866 -3.41607038808063 -3.6035374367158273 -3.078795531953781 -3.980005763367717 -4.647627496057066 -3.8179661568116794 -4.254648342146532 -3.677019274208817 -3.2494044165984253 -2.414650373780484 -2.9412029844729473 -2.7466876591334235 -2.343079551176424 -2.632142943770634 -3.1425300664976428 -2.358590406589176 -2.7549531727173484 -2.7549531727173484 -3.1004760496243455 -2.812586080879595 -1.989706795738722 -2.011502085190025 -2.652722749516985 -2.416725238296965 -2.0799894166512076 -1.9536667192313852 -1.9536667192313852 -1.9179655281333163 -1.8575573642234193 -2.3164934229511585 -3.253369733311229 -2.9517764373626294 -3.248932566315194 -3.005219902761915 -3.2182874219745976 -3.529048026811581 -4.115430557181498 -4.227831707191194 -4.227831707191194 -3.8538325363331656 -3.0562503040349016 -2.337146248752429 -1.7863954694892044 -1.2615143883701576 -1.4232633112110897 -0.8558435751227682 -1.106463027150807 -1.8407673305974968 -1.6857320459709535 -1.6857320459709535 -1.9663397459319465 -1.9663397459319465 -1.9566761968265647 -1.2679475200795582 -2.0110338088870607 -1.0667850529290765 -0.3303744605727579 -0.974493549647675 -0.25822081146635356 -0.32710651912202393 --0.42222467795940455 --0.5538993281005279 --0.437258924383941 --0.4014971492001186 -0.07763577130532473 -0.04208976979582224 -0.840555138017449 -1.6654413377424673 -2.3394521705115543 -2.6395051694476814 -2.821567327768479 -2.0160021696835386 -2.6848684651109638 -2.5122143898885345 -1.884744203361079 -1.076707260240367 -1.6009785381640973 -2.2385803291079105 -2.8852961462818225 -2.06849169809459 -2.2802355010421307 -1.8295898826978858 -2.2215580435310676 -2.6105782989966624 -2.226946985796908 -1.8339047643279165 -1.8321718044984125 -2.4936877330438927 -1.642364767501207 -0.9368900186656761 -1.8890400644324956 -2.6094650210403847 -1.8114956296362663 -1.8114956296362663 -1.614784995305285 -1.4983609154120612 -1.0121846992311636 -1.2450182949655912 -2.2252031580889065 -2.3482138889027704 -2.201536827432174 -1.4958812524764864 -1.3465478337535806 -2.3276991268784863 -3.122858434877174 -3.1359210821279273 -3.552279349924432 -4.244351761457457 -3.482370425393685 -3.2807940941473306 -3.4360385724738585 -2.7266818200331544 -3.3788815061049102 -3.916209879434306 -3.508304819409593 -3.439839124463598 -2.9218128491326993 -3.6093923844790927 -3.756024325457639 -3.21697608100404 -3.133472390190157 -2.829752977663205 -3.171874491749781 -3.171874491749781 -4.132591737808583 -3.425747604691795 -4.201348059887658 -3.484152231092618 -3.6418542832631893 -3.9229615297040783 -3.902169714685369 -3.2160769671292706 -3.410677659118237 -4.2109488236110675 -4.147517457508069 -3.1561472894865927 -3.4928903627626493 -3.8698554177741125 -3.112577181305382 -2.7973913949815223 -3.0459423003369097 -2.84152985295993 -2.5203589578036243 -2.065602745586889 -1.607203360664132 -2.1820102697709407 -2.8366800137985524 -2.626164274047915 -3.045373163008746 -2.627612073507871 -1.9950092219534603 -1.5463349815635294 -1.3822879783714557 -1.5537465497174288 -0.9365600594690073 -0.10324444983707903 -0.4965632173785943 -0.5308992320726753 -0.9817303453310566 -1.9723229096077075 -1.5919329031312648 -2.1481955454619985 -3.036025278667217 -2.188400562120134 -2.8781155924965356 -3.2011902624257957 -3.2011902624257957 -2.6247064181038615 -2.0564665616914786 -3.024297576014293 -2.8074758083026508 -3.748237114920901 -4.527773850813325 -4.527773850813325 -3.5917688594778316 -3.214951289095387 -2.626750656283619 -2.616853086349761 -1.641148311177289 -0.788163032813957 -1.1883070711860682 -1.0697860927194505 -0.10888464876483117 --0.7832990366675374 -0.03942373195875759 --0.2972626754496467 -0.009231043326405008 -0.8512567480863716 -0.7389132541439132 -1.5053797312901451 -0.8425347875354856 -0.7221141128163303 -0.10745988301119647 -0.9160550308125254 -0.9160550308125254 -1.4520224669111808 -1.2538515424001373 -2.162722471950451 -2.941944919760217 -2.435361880852894 -2.21088911711089 -1.433349091193058 -0.7191549546970484 -0.44237312364079384 -0.7288784880028295 -1.025478647545961 -1.2936439217527214 -0.3289299029807706 --0.6415510346174773 --1.4352336180191363 --0.4988036207110085 --1.2012834707648972 --2.0209150848072026 --1.0782786564331583 --1.000907698570298 --0.8402521153271416 --0.2698341851227384 -0.30596283493718723 -0.6526273212433726 -1.1530789076857046 -0.21069537353714285 --0.6529868643317496 --0.3603208267023925 --1.3063815874729192 --0.6592591505031842 --0.656374458730177 --0.6119635838968573 --1.3506604903115758 --1.7638396539262606 --1.5728365209108988 --0.7117127375017802 --0.658705851526159 --0.35153497736979067 --0.9467090375723135 --1.7959064478158668 --1.849111772589536 --1.5821391504383329 --0.6337472683921577 --0.22621444408166158 --0.43990150785955373 --0.35470721432727237 -0.6320438404881136 -0.3284991712856391 --0.40127411384332423 --0.8595471792328021 --1.1671525825815863 --1.9424919045014546 --1.9424919045014546 --2.3397760421506604 --1.8055856062872482 --0.8265657211530908 --0.7427014395596556 --0.9251345140187507 --1.7354453821483236 --2.0283693093745816 --1.4485375548887545 --1.2920219571404463 --1.0790881481726642 --1.5822221330926878 --1.841010912523811 --1.5336839481260438 --1.5336839481260438 --2.1569729721056294 --2.5642760690202007 --2.155013031354347 --2.0704631016142465 --1.965308061883657 --1.965308061883657 --2.197696013883067 --1.9467291595621277 --2.2683275258925297 --2.2683275258925297 --1.3854183097646289 --1.5858481062412242 --1.4307540906764236 --2.160104303615409 --1.8592407089385727 --1.589227705510597 --2.3324354604105975 --2.9072510288475715 --3.5383679408656166 --2.6770058082287447 --2.474143672290971 --3.385113156031723 --4.236520470211755 --3.381498177925491 --3.8653145673790354 --4.660377036757215 --4.015859673537502 --3.0903087190900997 --3.5806161599627364 --3.738520975315759 --3.738520975315759 --3.235065368104636 --2.404219543042511 --2.206239046017247 --2.9898951497134165 --2.3639530985424946 --2.247393266336644 --2.8443989379341765 --2.2020107432108174 --2.482354856521133 --2.980042268358995 --2.6242558610473408 --1.6521121655442739 --0.7573045770842284 --1.4470414299238472 --2.267634906847475 --1.6871128602801824 --1.9423041485169388 --1.4751234230057102 --0.7016958541623404 --1.6319347313750656 --2.0021309012620714 --2.9340243942047106 --3.787277065705199 --4.460141006832516 --5.444652105184924 --5.631460246917782 --5.9497523606129565 --5.5445604387490715 --5.175660141029332 --5.228323996421462 --4.9955276256112295 --4.760458268597296 --4.302388911104744 --4.302388911104744 --4.302388911104744 --3.7560873789357405 --3.7560873789357405 --3.3163103356001753 --2.789414229129225 --2.789414229129225 --3.4195672127025443 --3.715521088442908 --4.588620433274758 --3.8612352314636786 --4.403094682144976 --4.423385243799534 --3.867695279256391 --4.546796241553106 --5.344616577806285 --4.757490988236686 --4.789969151315781 --3.8623319658030146 --3.077750695708101 --2.748120402164984 --2.89408982022866 --3.2957683376480174 --2.7027700442702276 --1.9396019069836952 --2.672834946107828 --3.1524127394867607 --2.993295938243074 --2.5137284864761162 --3.204456886190031 --2.5428050925086483 --2.5813890603961496 --3.1574560035998696 --2.6070994570146127 --2.1107020614040053 --2.629088201758339 --2.144565557763432 --1.9262167302702973 --2.520840106154189 --3.128894791957964 --2.4604787323187765 --1.8905824457687719 --2.227946370135154 --2.9624585765050586 --3.861015053844135 --3.5572792790852805 --3.82489621583076 --3.2180514908826447 --2.3555716285223753 --2.1393780935635798 --1.1509042247637287 --1.7466904255725877 --1.8194496282297954 --0.8333574410394367 --1.297670600948678 --1.4252046097642292 --1.4252046097642292 --0.6992626921989837 --0.3639456082742787 --0.3390538017130209 --0.4388102472801402 -0.17115697080877468 -0.1760082771754231 -0.2280527213585456 --0.3286031581709793 --0.5502577806030087 --1.0975496649240402 --0.7885046501413091 --0.042957124585430995 --1.0409420285272972 --1.0409420285272972 --0.6180403844486977 --1.062220814657488 --0.22447784787871106 --0.7471485550929773 --0.8959827913335393 --0.6352775763457273 --0.2572927912527202 --0.09341299001572823 --0.24970701272462814 --0.9813347212119439 --0.9813347212119439 --0.4862838834365475 -0.3314311541950854 -1.2185818954269294 -1.1342358691160115 -1.0221910739125488 -1.229346357736621 -1.4420460969671984 -1.404159714343613 -1.8829603512737416 -2.2254641650613296 -2.444480526250313 -1.8648660089381686 -2.635302548021043 -3.3540436236520863 -4.25503466432256 -3.3310368222538016 -3.3310368222538016 -4.280832703206852 -4.280832703206852 -4.533685456947241 -4.222725065717379 -4.367038767482043 -4.057446553229946 -4.257155806706203 -4.840804448247663 -4.157016348120278 -4.157016348120278 -4.157016348120278 -3.2604148007942397 -3.9951817466848167 -3.735654295636825 -3.2093498712900352 -2.6775763166205504 -2.675383211979118 -2.352121345652386 -2.951817937028612 -2.097299804476078 -2.56451952226916 -2.170002730375855 -2.738466272346753 -2.336814741139541 -2.004719053033159 -1.8894393133675331 -2.5001015291286866 -3.013710934953842 -3.5299736747143458 -3.0000759059732083 -3.0000759059732083 -3.4648922319776023 -4.358434400299631 -4.471789022313556 -4.471789022313556 -4.759971828248546 -4.736022279227442 -4.5775227806544185 -3.602587821026564 -3.035193209290025 -2.387763476992947 -2.5680843355489085 -1.93151039729031 -1.2879349756577736 -1.1711928248244239 -1.3361923625698462 -1.0034810941847838 -0.6959133186916201 -1.261829151277893 -0.29953206523793563 -0.2315864926830017 --0.08474470607124007 --0.6694941509315424 --0.4078847696791035 --1.3771696391821615 --1.81250351688672 --1.81250351688672 --0.9296990571165318 --0.37784589272409264 --0.8485315042835974 --1.7908252202662744 --1.0339436890310105 --1.0797390521389967 --1.5805747958384118 --0.9666635495873097 --1.345188164311594 --0.5038084338557471 --0.4497314727619308 -0.11886996476753664 --0.12004604115562334 --0.6396625921808271 --1.0071026613633058 --1.4990044027079095 --2.1687012434892807 --1.9749785264281827 --1.7660454487979276 --2.688355106227946 --2.566227939095033 --2.915978450145415 --2.0506437220650016 --1.9245439581860937 --1.1128896763191871 --1.5908879539224263 --1.7193368048586266 --1.1602160824424712 --0.7051464769398941 --0.214955018044513 --0.3671981085597146 --0.03819830854186834 --0.21744334108109054 --0.6650251548513683 --1.5755271573732181 --1.5818955169805022 --0.947798195173327 --1.194068714679032 --0.3126524964286901 -0.0042323156589616495 --0.4553260830680753 -0.3794262449481033 --0.5673251644415515 --1.1621009968842766 --1.2474449663828646 --0.30441309775718595 -0.47453620179071554 -1.2520690236252905 -2.0553601709527034 -1.9838239831366322 -1.6732646044286876 -0.9477286795003683 -1.204785586304247 -1.547533784405593 -0.5507854203320279 -0.5265146832206454 -0.5265146832206454 --0.3887808880743854 --0.3887808880743854 --1.2596816551173928 --1.9142584302557832 --1.8108763578899558 --1.1673471804092292 --1.1673471804092292 --0.2379905549405572 --0.8038022924184676 --0.7515512286947819 -0.033191191524122976 -0.6059988354067092 --0.028153854269304945 --0.7280348560916243 --0.7447742219865646 --0.32352831705344876 --0.7198786351075885 --0.7087980159900662 --0.22949500446233184 --1.0519465722194636 --1.0757777658839807 --1.126313552395676 --1.0164019843639323 --1.0859523155639055 --1.1448670867961348 --0.6859887184563398 --0.5979233475514067 --1.1021228611524228 --0.2978886209745615 -0.17244384371179033 -0.34063876124170056 --0.446867361966262 --0.7971433606229915 --0.5889911271351026 --1.2356822991916072 --1.1352216724162405 --0.14019093907332736 -0.17661636022337368 --0.2653973625283724 --0.00042566686828926503 -0.44263681301668545 -1.2180462820910654 -1.883798937053685 -2.0535332031168414 -1.8126463640896406 -1.401983134537275 -1.402134228035312 -1.2429606375239333 -1.4603753953589924 -1.914735357353227 -1.7124771430384134 -1.7124771430384134 -2.594182335555635 -3.5501892395896224 -2.6696828807066098 -1.8023891209831353 -1.3491874485743516 -1.5038598801441878 -1.1739319831084365 -1.192892994512889 -1.6748450091203952 -1.0600179761218769 -0.6892930158104477 -1.3509747898804165 -0.987752647190912 -0.987752647190912 -1.8021354219907373 -1.5485436938751391 -1.779478779254405 -1.3780216226944244 -0.7298067850542125 -0.38644013294100465 -1.233758630721022 -0.8759579246884209 -1.4468996769480853 -0.8273082985784346 -0.8273082985784346 -0.4107105855238501 -0.6255686656640481 -1.5402143572587068 -1.8719736637351485 -1.764266936503664 -2.319982502475731 -2.161579010534502 -2.685037388528165 -3.1512520471119485 -2.928998669024348 -3.313617871794921 -4.248423555184271 -4.0576156629935225 -3.327807451107838 -3.4957199635378675 -3.0186138307583894 -2.927552483717034 -2.355403808686234 -2.355403808686234 -1.8342704051197078 -2.580902774056681 -2.7550542523876382 -2.5002287789196846 -2.016481461351709 -1.8974761707658607 -2.888045135745286 -2.516589643368871 -1.9807878430494466 -1.4723063988492175 -1.1610742116092103 -1.9272320480547263 -1.4962358623951926 -2.3419217694251246 -1.3879091264431094 -1.8620222075109591 -1.9570016812051927 -1.1055479139915287 -1.2508780403092938 -1.3392397802500626 -1.8805140268030234 -1.8805140268030234 -2.399303609461298 -2.0294989087512865 -1.4505690457125007 -2.3050291624116364 -1.651501190071708 -2.6356560573711487 -2.7840444103301376 -2.797514065372387 -2.797514065372387 -3.1794968033190267 -2.444262191841087 -1.527994686266619 -2.2084928292925614 -1.9789513128581588 -1.3062892030732651 -1.2960036936990855 -0.7458280900289285 -1.162622541129248 -0.8418072143039542 -0.23934850539099173 -0.4948967464796049 -0.17478094099675312 --0.4973798676449612 --0.4973798676449612 --0.8324398022064069 --0.39332702000064745 -0.31018610346572084 --0.6471687927734694 --1.2936281673942216 --1.684922216775886 --1.684922216775886 --1.19343320584599 --1.2206185087003374 --1.3697609686174 --1.2695631813821202 --1.427816057305142 --2.118007279731279 --3.018463425263782 --2.9773607404578737 --2.655370740318305 --1.9193472626493362 --2.113437096982216 --1.6711661510577054 --0.9589671145661811 --0.8286839334467615 --0.5498604492602248 -0.22894809964806706 -0.3583055096764818 -0.7076383340559036 -1.6514571703254477 -2.643850095246999 -2.246760726373455 -2.6032805531750745 -2.735622053816696 -2.9115044553136338 -2.126297237679408 -2.1469455509996243 -2.1469455509996243 -3.1158275624090637 -3.824881422624463 -2.8910930905765126 -3.2813785599344296 -2.47399495113322 -2.8955782994056616 -2.8955782994056616 -3.2248045729157875 -2.4504834330120144 -1.6241316693328023 -2.3451623038581584 -2.2958250651737626 -2.181969715141539 -1.5469107555616528 -1.3481285277879658 -0.4507454594663576 -1.0965089676226902 -0.17372806107148642 --0.2338310241441629 --0.8806463005513111 --0.043940755532766995 --0.9459716450186194 --1.8799176847268586 --2.1010922776391894 --2.019927897272662 --2.5779341248829457 --1.5815955347524797 --2.175164285925793 --2.000613222605926 --2.151729166976259 --2.151729166976259 --2.1458203275916485 --1.1689030939972829 --1.5564886553908543 --1.5564886553908543 --1.2339130600673807 --0.6628024238870514 --0.22481844321420863 --0.6025969378084276 --0.19432077205915366 -0.5296364598912483 -0.450686011209285 -0.1470670445032075 --0.6158854278715283 -0.06650765857888874 --0.016167049414736345 --0.7843211205702001 --1.3548298036080118 --2.1894840385960395 --2.47166668403834 --2.589431336833385 --1.7272199140001732 --1.9545162125658564 --2.099636158171836 --2.2772287260018604 --2.117258501552646 --1.5902145796980813 --1.1342337731855352 --0.9987456616322354 --1.1878870975103895 --1.8435324937491209 --1.9654440932369068 --2.213478352358042 --2.996956261279727 --2.0221145204657 --2.59458069016028 --2.711294361900908 --2.448590216155475 --1.5099175325075413 --1.2861957546713974 --1.2352304552105517 --1.2178580439259583 --0.9336308466084358 --0.08057482614809897 -0.4811156298815018 --0.15842774667931314 -0.2747500364255091 --0.465454610403097 --0.9660899883080658 --0.8114422541745214 --1.5777493402296798 --1.6372563909546303 --1.177161366447329 --0.8161594463302808 --1.5428592308673834 --1.0595408512951687 --1.0162884276830573 --0.6038235842342528 --1.1921111103509698 --1.4902705764150825 --1.1452822671117868 --2.033729608439392 --1.1240682186200137 --1.0435910459618516 --0.9373554771953838 --1.8511474330837154 --2.799309087380506 --2.799309087380506 --3.34451424770345 --3.166812673576728 --4.059509239276885 --4.426215769027825 --4.426215769027825 --4.045280024904677 --4.730278939610251 --4.109009833293374 --3.8518147939437317 --3.2462123686663618 --3.7486737812955817 --3.796587720247077 --3.937179542966677 --3.4841380410471547 --3.33839723861516 --4.114123253267303 --4.5389650417100595 --4.51353448653882 --3.534848120144832 --3.635503962600674 --2.697500291966332 --2.3242026582004485 --1.3417364227584845 --1.3344920354433407 --0.9045924679016384 --1.7364849348216358 --1.8490893325029845 --1.3856689000817373 --0.5979267154093697 --1.3481179465714526 --0.8396771048461407 --1.4086763275579497 --0.9309609568068729 --0.826674594338507 -0.08930955482076919 --0.54557893770836 --0.45354387585617006 --0.9828289574761444 --0.6056058981555947 --0.29828265544636445 -0.3425162971819635 -1.013076315822204 -1.8758067157708012 -2.131380170734504 -2.6180307137884498 -3.1395827157715965 -3.8655182650153432 -4.608418372990786 -4.608418372990786 -4.101231691441864 -3.5460979631364635 -4.357873230528478 -3.7673806330182704 -4.110474622730995 -3.8161805249666205 -3.9146975942174818 -4.597458934480198 -3.6475090086515465 -4.13065809213775 -4.800256590890584 -4.1007132527667185 -4.731970366139543 -5.423173584574027 -4.9408250858639065 -5.011524759018229 -4.759532477254478 -4.669238573897456 -4.467464168646208 -3.9100249911244536 -3.9336948452974605 -3.3370983361085855 -3.1983353537296817 -2.572133302375759 -2.487492907889669 -3.200963717674819 -3.8085152941458045 -2.9996010805324067 -2.1870431597644275 -1.2248255854766514 -1.3971488115652764 -0.7828358298178688 -0.20786930507432722 -0.7750652062566898 -0.9214265292238866 -1.1724120480285138 -1.6292858320816344 -1.893558829715363 -1.8344970011526618 -1.642579042023327 -0.9765323007302913 -0.7244799238304976 -0.0029134284331834293 -0.7794297398903386 -0.698438194470189 -0.6379427117875484 -1.2862238886723012 -1.1947387511195204 -1.7832072570301607 -1.7832072570301607 -1.7832072570301607 -0.9463157336793615 -0.7557635540885884 -0.5698300674077659 --0.24225856482381558 --1.1934958585425852 --2.090527142875633 --2.72898635345531 --2.031098721560493 --1.9489441899895394 --1.0382087848457986 --1.2632455409743262 --0.996126707167271 --1.3641453323298736 --1.8244850725529727 --1.8190923635256393 --1.6946675465480197 --2.4140188723127833 --2.8866015742663134 --3.0941994697397477 --2.525340852465748 --3.079081305759656 --2.1311213250992695 --1.3477498264543275 --0.6117229492958156 --0.03590998554744984 --0.9616467029454492 --1.2851799048782229 --1.2749275434227063 --1.3172514244625808 --0.9014116036481465 --1.4025468288683198 --1.7749622690076978 --1.475211544514316 --0.5276607001046343 --1.3580465003130062 --1.9088574519065513 --1.882594438770606 --1.1966962166300907 --1.6130589559373725 --1.4046287585803687 --2.1515311641858412 --2.1515311641858412 --1.2501269354852396 --1.5618686192544318 --1.8923341799860292 --1.8139195539243038 --1.1713349407167044 --1.5855493440096984 --2.3781309010741993 --1.7014260215875816 --2.009325997244921 --1.1428038202687807 --1.40344498581499 --1.2177273445967876 --1.2466427559494737 --0.38209099018579873 -0.2492510590961794 -0.8784946028174141 -1.6035098902499108 -1.6035098902499108 -0.7189885472612458 --0.1246826925943858 -0.7798664987877848 -1.2547955836476075 -0.753821427684787 -1.349641557166048 -1.1461817483538619 -1.2012050155689158 -1.513033786109776 -2.006831611624979 -1.8385613846418165 -1.2464808928617086 -1.1407954295777696 -1.658979040912696 -2.028720154617379 -1.5360727027021253 -1.4555790980746304 -1.3545012941183616 -1.9674865788556668 -1.1649064499356152 -0.8602870810782653 -1.5689533090256487 -1.3130803748441373 -0.9518109756923389 -1.8494109625694999 -1.6435578660163341 -0.6527261917603517 --0.012137053314666968 --0.3555528783862424 --0.041215239282653804 --0.20680926971952895 -0.41203872398041375 -0.23297847860874776 --0.3192602503110481 --0.829432556704644 --1.5958893352302743 --2.345821715086203 --2.3696820444384947 --1.4899103258868822 --1.4519162625232538 --0.5526632285961666 --1.1282244293130546 --1.3755447167377106 --1.1746255375249848 --1.491825491807857 --1.5294215659360342 --1.5294215659360342 --0.6473991760474798 --1.418451433086483 --0.862360518665384 --0.5346808270214443 --0.2370768583570586 --1.0423645335394995 --1.295574939350491 --1.295574939350491 --0.5255168476443326 --1.4070349024219138 --1.6373123273283317 --1.5146562727576203 --1.5146562727576203 --0.8594048508238843 --0.8133539022761878 --0.2016069845721542 -0.21861630843482627 -0.6063225306108875 -0.3781979348994663 -0.18808220163147138 --0.19261754025736033 --0.5911951991074829 --1.3263541218575865 --2.1660876118432824 --1.2600003139978124 --0.3242693084841193 --0.3871022905045848 -0.23126132412526224 --0.5640728616926579 -0.10059536440721362 --0.0001872724165694617 --0.3025088956703684 -0.3727773736977683 --0.488896788782765 -0.09343087083530277 --0.5959358204176141 --0.7886317124147035 --0.1808168914326087 --0.18337611354206118 --0.4312008809717529 --0.4624681981554558 --1.051935132639131 --1.827185161276292 --1.2026484309835908 --1.649666434723156 --2.073373835722532 --1.9446194040387363 --1.1821508238561311 --0.3801142288189676 --0.37732054437690765 --1.3706844305280164 --0.8602742925298521 --0.6429911355899287 --1.0482544956742292 --0.8580234594345486 --0.08667829239267233 --0.7546312388196832 --0.677392840556684 --1.358119327232555 --1.279182133792678 --2.035180477479842 --1.6320921312079235 --1.4895980071378228 --2.222301600012848 --1.2372385310671181 --1.9485829136504906 --1.8459974947094986 --2.3448908845725174 --2.870319880294513 --2.9474015281512633 --2.555310803175548 --3.3982867090516162 --3.047975018999091 --2.5246173504544744 --3.348995488609846 --3.698898042637751 --3.074840385820538 --2.534184385921926 --3.029682810291049 --2.1965974306123215 --2.32483030402239 --2.309939216625578 --2.309939216625578 --2.830820551719238 --3.6968670380877873 --4.4844725612808976 --3.9894058817335933 --3.1342264251199166 --3.0672549652345698 --2.967021479305237 --2.9397388589792115 --2.04554628748428 --1.1773682327552004 --0.6806221085652386 --1.1882634812461725 --2.004763483478622 --2.170987224976877 --1.9517482194578528 --2.700483578419523 --2.147828705505802 --1.2386483588002561 --0.5981460572047748 --0.6250086961763331 --1.4350267845279765 --2.007557355627906 --2.525332972319508 --2.2596844067052437 --1.4630274796401828 --1.2575417314984854 --1.2230979103143393 --1.3837321571336139 --0.959141260823253 --1.9560706121724323 --1.2144966766687313 --1.3065113151167078 --1.6676813609577459 --1.455549330081187 --1.503841927151921 --1.8882587090583942 --1.5863471597147474 --1.9070735878275276 --2.570005496685498 --1.718636548911327 --1.5881315666982012 --1.465272456661548 --1.6142968180289157 --1.9524651049559956 --1.290883873778402 --1.863129759009357 --0.969251350973934 --1.6943690628631551 --1.4632773837034836 --1.38229947673591 --1.0388600159176924 --0.7191882738574251 --1.7084845125748978 --1.9189922213863757 --1.9189922213863757 --2.329431721061133 --2.6575315603647462 --1.9540530035718406 --2.2182828219137445 --2.2182828219137445 --1.3200588068111196 --0.6620730690777215 --1.5225783648093574 --1.442173282962021 --0.8182406223727212 --0.7029311721271441 --0.32666024342652533 --0.7209543750410058 --0.8308941775420922 --0.8620816521722742 -0.07726844662267751 -0.03486090099253758 -0.8321422274560155 -0.21831965742685822 -0.18727146168488462 -0.09948261606781772 -0.2026580040472472 -0.24081630895327422 -1.1069038093931187 -1.7137771008003035 -2.09925291397537 -2.2936178862344225 -3.1773358399659215 -2.72149581519098 -1.9432148599580883 -1.8972311669859598 -2.4262755946009245 -2.4262755946009245 -2.642906137526 -2.1685964399489155 -2.1552481325468444 -1.5670890751055027 -1.580693553832723 -1.7129744322134401 -1.8233188683424344 -2.2172941049653456 -1.5619710682504004 -0.9504594043297341 -1.8349134506888487 -0.9046749716104969 -1.5646207815372484 -1.8100489116500507 -1.773901299275221 -1.773901299275221 -1.6330708823112379 -0.8001682460509176 -1.57505556701572 -1.2117049593197446 -1.2742897321473567 -1.7073962330460477 -0.8263536431866725 -0.7048648158016141 --0.2796225549148409 --0.15673166236579406 --0.2573468305608895 -0.021686474099942954 -0.2355664072988115 --0.22950272687707807 --0.35193494889459087 --0.75709533896534 -0.21337961535165617 -0.25040782745309753 -0.15656543903427123 -0.8347229993547698 -1.3870832084121156 -1.9622356897989843 -2.6664169279544683 -1.9189516253643883 -1.4594674098543186 -0.7054761118572601 -1.1006852939965983 -0.9589673616939488 -1.8442862968255382 -2.7790702680365724 -3.5030555585494216 -2.723817721637807 -3.1189349353380735 -3.4211195132513916 -2.664800208311477 -2.4080767541790595 -1.7286107374437518 -0.9835722000733895 -1.1242018386768247 -0.5888279153210871 -0.47726364706886437 --0.058116804583929205 --0.3578550050414786 --0.08121145465185653 -0.27617534897181195 --0.7092792113454531 --1.1739500378465944 --0.3237973288342768 --0.3049769653599017 -0.5370080790207203 -1.3968043892010271 -1.3968043892010271 -1.5230855820117633 -2.471294009147873 -3.141601891756066 -3.018353942153854 -3.3509907556508782 -3.077098100167707 -3.449911171324021 -3.239794836339456 -3.9342975556595325 -4.308647507196728 -4.375981058790424 -3.786197467417069 -3.786197467417069 -3.786197467417069 -3.2175808566102084 -4.156941687869993 -4.156941687869993 -4.0561393178252 -4.9032637715779535 -4.9032637715779535 -4.772638108935926 -5.625724440804193 -4.786440799032282 -4.786440799032282 -4.786440799032282 -5.223822742476561 -6.03435569887402 -6.19777777560017 -7.012609480891455 -7.117028322574468 -6.332711144015584 -6.332711144015584 -5.910261132205885 -5.148116913274766 -4.264077457221196 -4.341888291157663 -3.713062668067942 -4.526056216158853 -5.178679900084994 -5.799867810779961 -4.89336609914265 -5.014636611421352 -4.174573827328492 -3.6742218378377247 -3.6742218378377247 -3.969074388092899 -4.715799384418329 -4.632313758310928 -5.53715278779689 -5.53715278779689 -5.773355368818178 -4.776770434314004 -4.011510295685536 -4.32832123067616 -5.004941801426446 -5.004941801426446 -5.7783304010419645 -6.359808506956156 -6.908856584800006 -7.498897766935295 -6.707520888675892 -6.126775610441487 -6.865666890505764 -7.625021105204796 -7.526529329585684 -7.480040510076053 -7.037319843464655 -6.955646248898327 -6.0906521719426605 -5.623060332767843 -5.4004376555453355 -4.854087606854031 -4.624520317725076 -4.84937436424201 -4.394646875862727 -4.959911103513359 -5.720886049569419 -5.2080919819455325 -5.2814873618091855 -5.21517547260543 -6.116704558958153 -5.604791271343915 -5.772923186512617 -5.884380059842975 -5.304754791098812 -5.388154438101338 -5.591594329344689 -5.713172335669896 -4.96058661876829 -5.554397575645645 -5.538849248937491 -6.092443724467186 -6.146155054119469 -6.38061741685514 -5.666390981901115 -5.886901994195765 -5.768759173411146 -5.672643503369404 -4.860706472326498 -5.5091095589344805 -5.735386137033698 -5.36479165253487 -6.0470833710163046 -6.156500256604728 -6.156500256604728 -6.699184981111626 -6.047954502841028 -6.249100970517064 -5.35015816311787 -5.20576976989977 -4.234502617723959 -3.4370399124183884 -2.6039903452185666 -2.149933222584791 -2.149933222584791 -1.6881199957514306 -2.634690545290502 -3.0175698149129397 -2.1880689571132748 -1.7002155853348713 -0.82182628263558 -0.6876357641943599 -0.7074712955106371 -1.2121032166580266 -0.679194617210171 -0.05389110207188308 --0.3077115701031884 --1.246289408348738 --1.0664225702553278 --1.0739643708432176 --1.841858198408405 --2.4226470879341697 --3.2666522777401736 --2.462805637823805 --2.120451529198939 --1.558855412974086 --2.488949062558162 --3.0726597746859006 --2.958369926563522 --2.2995228103881145 --1.8640701855498312 --2.536096891238021 --1.6929093847007108 --2.505471271671116 --2.0407245006515797 --1.7088388180604548 --1.0324083254578622 --0.6735565886026122 --0.24988599787414434 -0.49405970248476194 -0.19421997655658296 --0.34273518898086996 --0.2688539917307565 --0.49957939953290054 --0.2362164096027186 --0.09997476116454607 --0.09997476116454607 -0.5153811383471938 -0.5751851551582554 -0.003855814613318964 --0.4170932356430589 --0.6121435914369371 --1.1297438800819166 --1.1574588783605266 --2.133726029684216 --2.4062398353843206 --2.463475782500965 --3.254120227030702 --3.3182251160080054 --3.4981423206851767 --2.645815568142525 --1.6602721271800842 --1.1593225664640752 --1.4130189231830603 --1.6697508439932163 --1.7222461700844969 --1.7989703763949514 --1.9144577864018384 --1.5967092887957213 --0.8536025467796449 --0.3146302808205981 --0.7704147572001164 --0.35804412316200473 -0.2782836018115252 -0.3854825435117858 --0.34279229648213183 --1.3378584119712094 --1.1547341746472992 --1.1580602619243212 --0.3393368785504851 --1.336680396571536 --1.4619926036981363 --2.373252966624359 --2.373252966624359 --1.7062986967909073 --2.587447379374912 --2.2558967167855224 --1.610345623686063 --1.9749517659859297 --1.9749517659859297 --1.6019848911664982 --1.0224093677131156 --1.479050247089602 --0.8562839194348344 --1.5416680134881438 --1.5650912576312455 --1.6978295708352844 --1.6978295708352844 --1.2008468524360338 --0.5890121974374902 --0.6170566420264326 --0.4396227085784573 --0.4396227085784573 --0.4411312236177902 --0.45136362935256547 -0.09501493477366096 --0.7360176856566844 -0.16639619700794273 -0.2982411171829379 -0.49426667232871024 -1.0716078154496498 -0.6405537773197562 -1.3967989325213663 -1.563697896981095 -2.3062175078743543 -3.1429460651388053 -3.357634236488618 -3.491452946605615 -3.3572430602294916 -2.643022241184605 -2.258129325558817 -1.2970606765648418 -1.6542179124359373 -2.4238378575813484 -2.809931218678189 -2.3461781080716495 -1.4084747879187947 -1.8356830647911515 -1.0373422917547324 -0.6349956582079087 --0.24208192811224116 -0.08281729285243611 -0.27030093643120223 --0.4981007852127345 --0.013917694125520685 -0.3865226727461307 -1.214622445637826 -1.119068161111744 -1.119068161111744 -1.5181444733483223 -1.334035592232174 -1.0109020894817995 -0.8618150234241652 -1.7839060389704886 -1.7839060389704886 -1.4781852377033817 -1.4781852377033817 -1.281046668120203 -1.284608641483246 -1.4366538361782701 -1.4817039441112025 -2.25394075826277 -2.3648870804555724 -2.122935154965208 -2.4897587367623126 -1.8374449817673297 -1.83742813032292 -1.915349942749846 -2.742354845637175 -2.742354845637175 -2.3799846714556616 -1.567421211054192 -2.3748375944669 -2.7030443770010977 -2.7030443770010977 -2.9052000130282387 -3.2028659309353777 -4.1240438124638565 -4.891438670368284 -4.217976518484203 -3.7199589346904336 -4.375800464480447 -3.9212161170321025 -3.738828287380961 -3.826577161649085 -3.63517401500948 -3.8560702810784804 -3.409708691552969 -2.7170980650207515 -1.7286640885344953 -1.7286640885344953 -0.8841330421731999 -0.09525096602042193 --0.32847464730467213 --0.3375275244796665 --0.4622066325039863 --0.8726832066271546 --0.8726832066271546 --1.2700549859108272 --2.1559024756822165 --2.6364608148398228 --1.8046213785092917 --2.5991754406090575 --1.7531843814165875 --0.8900817665736613 --0.032990040964834266 -0.08816487583685162 --0.07414949987500885 --0.23917156632391823 --0.230105781513803 --1.13793725362092 --1.791171405735066 --1.9695209789384407 --2.9017094109282855 --2.9017094109282855 --2.9039996049169305 --2.0753779320368073 --2.320656312976103 --2.3741392918348962 --2.1594010938147674 --1.6317342696283794 --1.6317342696283794 --1.6767319398602902 --0.9069822508845418 --0.3481377489780495 -0.3191038258519374 -0.18710876615048833 --0.18257916810338748 -0.7215166576074985 -0.007599774630070888 --0.7065490670073451 -0.266290374425344 -0.4047694089154872 -1.1820497071562566 -1.963153489938607 -2.0636071816344357 -1.1879165955794126 -0.9679954521336595 -1.6759728828916671 -1.5836839909957607 -2.098171215156329 -2.098171215156329 -1.3172292793409885 -1.6596478077922157 -2.1507721054762743 -2.640158043433643 -2.0052002195024135 -2.3971670743869886 -3.333532410402573 -3.333532410402573 -3.3144453369065454 -2.870721004080373 -2.450183536100083 -1.579670265370749 -1.7041134818140549 -2.1501209101414718 -2.1501209101414718 -1.6592051448454743 -1.6817140045955934 -2.354680859013819 -2.385191763753756 -3.175943235468729 -3.175943235468729 -3.783588215242302 -3.783588215242302 -3.340436779279328 -3.6303988583115445 -3.2253144872899355 -2.71795423384344 -3.6337129763817493 -3.80003559378694 -4.265957161861827 -4.317977860343208 -4.391505887353713 -5.0888056491426905 -5.426501396957475 -4.979628246877792 -5.5983858248776635 -5.5983858248776635 -6.317688379285987 -7.03681386072906 -7.376714629798321 -7.056387779332693 -7.2290396762970275 -7.2290396762970275 -6.788564339693909 -6.788564339693909 -5.840381401510558 -6.6853617175481945 -6.139258046877434 -5.681654140540473 -5.681654140540473 -5.85424544583263 -5.85424544583263 -5.789826207973627 -5.054186705107897 -5.144714691650455 -5.367136991770752 -4.445707308312499 -3.8908209975528223 -3.0575323198653575 -3.5512739847758246 -4.482120048676204 -5.049245687008357 -5.049245687008357 -5.166160384746437 -4.860522931765102 -5.203165361807074 -5.203165361807074 -5.61308326486791 -5.26260372337522 -5.59050581351931 -4.829177036329653 -4.534900313302785 -4.576078536717875 -4.781397020701403 -4.695094351069628 -3.7236405739414997 -4.692755369998703 -5.382250488211103 -6.328264640933556 -6.328264640933556 -6.340322953561779 -6.340322953561779 -5.47200157578664 -5.114091557264199 -5.114091557264199 -5.295850077256285 -5.039906962914382 -4.669400874284944 -4.662129357823492 -4.662129357823492 -4.203122804861924 -3.935572048858317 -4.3553114584407275 -4.2624816281345135 -4.2624816281345135 -4.2624816281345135 -4.2624816281345135 -4.2624816281345135 -4.383455384896957 -4.32438987429116 -4.921674779073419 -4.974865639472179 -4.363381663638174 -4.1408544155518605 -4.251512079693583 -3.2788902709841032 -3.2788902709841032 -3.039396896613173 -2.367177127484002 -2.5803103566027623 -2.332831517870341 -2.6712812244930637 -2.2215704524606585 -2.471639943749162 -1.6037835183324844 -2.100283678925514 -3.027733184581452 -3.027733184581452 -3.136825853622434 -3.083497558781384 -2.654473390740598 -1.7677676685402806 -2.5293470576366373 -1.7975995398498887 -1.648593383421309 -1.4123952724041247 -1.8578393213190725 -1.4144030060452373 -2.066604712452602 -2.066604712452602 -2.066604712452602 -2.083967234694267 -1.800138625281964 -1.4793848976159722 -1.7401502286690722 -0.8190578965742132 -1.135468115181451 -0.44693721517004903 -0.020770715247876326 --0.18710900890261284 --0.000483331929673092 --0.000483331929673092 -0.9953047745273138 -0.5410896097996384 -0.7721299911990532 -0.2537605941780793 --0.08739858960370506 -0.44838471491892684 --0.2214436267773745 --0.9421725547409396 --0.08236987961056008 --0.6045460333928556 --0.05196582583757947 -0.058733923339102434 -0.9400238614692611 -0.5661873744029674 -0.9909136352788895 -0.006681202296206057 --0.047626354674772386 --0.28185308856704083 --0.24145513271633112 --0.14442633581636388 --0.9690797166864616 --0.76040923065718 --0.7740518855690672 --0.8837902771442224 --0.08768635117713253 -0.25537356712747716 -0.9989642056788913 -0.2685258425855904 -1.1061890788921773 -0.24229661593566476 -0.07483161908732539 -0.08123843713994094 --0.8327770568298524 --0.07151473145127218 -0.927610470963986 -1.76948808089127 -2.598725111554798 -2.598725111554798 -1.6638011603790441 -1.5385805502113925 -2.231103611091986 -1.23661915770076 -1.1592839193530864 -1.0485557295606869 -2.0078646240459292 -2.6088104196191537 -3.1454241933260674 -4.105897920725591 -4.215339414770527 -4.732957305304536 -5.061320845451148 -6.060687214647984 -6.037894282021168 -5.881767443735321 -5.620413230398681 -5.9894740956352 -5.6503228912613 -4.809060292131113 -4.2968076250379825 -4.481232796039704 -5.17567117540486 -5.1986466279362595 -4.397545101814998 -4.028621165061733 -4.304959550539825 -4.1103687116436705 -4.821735322892635 -3.9707593007344073 -4.666029269040451 -4.4249698747468065 -4.4249698747468065 -4.2297491626059855 -4.258286003151603 -4.506820514837378 -4.667819459237952 -5.005576250255615 -4.973985121519941 -4.973985121519941 -4.85177609671713 -5.333456245167905 -5.333456245167905 -4.937917698498413 -5.159314362742246 -4.719163389923067 -4.664979405699055 -4.890200661534552 -4.438690752433378 -3.502961931439933 -3.438786000383814 -3.406979587122803 -3.5551338306097335 -4.159589466089475 -4.984793639012991 -4.4390243130384714 -3.6914404696701406 -3.6914404696701406 -3.244978123668608 -2.873183507814878 -3.6879572331317165 -2.8687215105126773 -3.544746359728824 -4.31794241705619 -4.31794241705619 -4.620190671246075 -4.751281953399067 -4.751281953399067 -4.099852618441226 -3.1551828057776197 -3.0290274410873286 -2.993640436988325 -3.9194632585699862 -4.017832576729353 -3.806197556654846 -3.303230424207653 -3.654488301158022 -2.831234955079558 -2.3343840207461004 -2.680903255333964 -1.90255562109095 -0.9898116713619305 -0.18739983818754058 --0.41887238256156123 --0.14689167422555394 -0.7091808236121764 -1.1856848149774801 -0.3265177152726586 --0.014536312031660947 --0.654437196082979 -0.30474541122947885 -0.1842932314139114 --0.6851845199054338 --0.9898929145227914 --0.3650127909716866 -0.49653350761019743 -0.8510562485411065 -0.8874774748573745 -0.5455603376836302 -0.41510370129633 -0.175337175162525 -0.023834088173852463 -0.452642395364078 -1.2637089961683934 -2.2283716874922423 -3.046740736522005 -3.155992735655029 -2.1891679280496628 -3.0589025257169533 -3.6245026045986926 -3.115254003921218 -2.2685185083869728 -1.86851614159764 -1.479743742816098 -1.898447242789129 -1.6464078789276577 -1.1437404980539483 -1.8593472863812643 -1.3148682494390422 -1.7156227695810837 -1.6323388387249653 -1.2168660450410842 -1.5495864722153523 -0.9544862803965986 -0.32396114725061365 --0.319368431026841 --0.32492825950861703 -0.03331033729819988 --0.5515198729389416 --0.6566058542159341 --1.1925580723576248 --1.7556122368061222 --1.0487298988311726 --1.1846399112908577 --1.062645967866772 --1.0945027525919708 --1.2663873404474675 --0.5393711301058517 --1.4331064856700946 --0.5590976826999339 -0.235180024362605 -0.8862844064505915 -0.8375739387447968 --0.04340302487652237 --0.8972120132926028 --0.2667960593115696 --0.11096359751903317 --0.4551521790712074 --0.9401116941247877 --0.42646687691127105 --1.177611168092474 --2.1204388721175174 --1.1514270342074664 --2.120158901150627 --3.0782431542442747 --3.6337122265427704 --3.608575219699876 --3.2659238388025793 --3.6914082240906034 --3.8727899923210223 --3.8727899923210223 --3.8919068280895326 --2.9826840030833077 --2.9826840030833077 --2.7001440498322493 --3.4351375102099144 --4.377296113230438 --4.377296113230438 --3.947947355369764 --4.257235103747858 --4.001864249453108 --4.001864249453108 --4.001864249453108 --4.3028460929848835 --3.8394857537942477 --2.9144676636704148 --2.223957883113882 --1.8252931213639414 --2.0228259769571784 --1.583143113513114 --0.8141523106033308 --1.2009023147446665 --1.7908734342608148 --1.2599027160296141 --2.0584035199352195 --1.5880593624749668 --0.8627694986476295 --0.16174566992242312 --0.33592047224100463 --1.310934691372407 --0.6251500806188177 --0.5308198235842643 -0.054456348138695265 --0.24281726440551232 --0.4539182754016913 --0.25355019742208773 --1.1518490253560572 --1.484960850670141 --0.7193793226734178 --0.6090944731067223 --0.2480429817457781 --0.9648187482070449 --0.3937952485785159 --0.05813535841775441 --1.0073122289903182 --1.8655678200509045 --1.1205783144388701 --1.1205783144388701 --0.5063832580277996 --0.14571316625151565 --0.5869381970454345 -0.10136333406877596 -0.8248188405002997 -0.8630921882319577 -0.41702201924389226 -1.0678087853328442 -1.237267627718242 -1.184919072698246 -1.905930208309294 -2.76558963644529 -2.8373566526585936 -2.216475699501033 -2.216475699501033 -1.3520923619966605 -1.257773921840164 -0.40588898565967435 --0.4212844996797669 --0.4212844996797669 --0.5839593974204179 --0.04855257954097747 --0.8703412994051637 --1.84328656546699 --2.0789392481646005 --1.836101965114349 --1.4624879306447551 --1.2938312892304247 --0.7625002004719741 --0.19353013282983067 -0.5038848444986785 -1.4884980482584094 -2.458691031686591 -1.8702634013716846 -1.3491050947180192 -1.3603295082822524 -1.7229751042100794 -1.7229751042100794 -0.8412467447446856 -1.815414127734995 -1.2747604105815964 -0.37811750138969136 --0.009582714463159392 -0.4334107634863099 -0.5400099102429946 -0.25017353854862634 -0.9328267401896788 -0.1767730890640835 --0.07215801697885571 --0.978208090807399 --1.8552140216973347 --0.8751281119300471 --1.8364534700001862 --2.4621371571270996 --2.512760893327087 --2.296830431670467 --1.8194991973692265 --2.4858696740205213 --2.260830759653702 --2.4568334215725414 --3.441529998088021 --4.363972468478997 --4.094574622249444 --3.7970570345507335 --3.250669777503507 --3.2087273910455187 --2.5371321888770897 --2.7431778678383183 --2.5303395870506673 --2.80799474641795 --2.8731492175329265 --2.9903845743471935 --3.237406146222106 --3.482879763509121 --3.775794519143896 --3.678917024807045 --2.950188216831263 --2.6280648415897376 --2.904307918695093 --2.904307918695093 --2.125124713570856 --2.179062055997389 --2.099312831572933 --2.13901546877328 --2.8021673930826463 --1.8578957311926076 --1.2169503981284662 --0.914784550590388 --0.8601180837494131 --0.11911124519707439 -0.44656689263116744 -0.44656689263116744 --0.19580336939434062 --0.4467873363505709 --0.17896380756064134 -0.07274372366891091 -0.9811854677268178 -1.5487761715387514 -2.009159831209061 -1.406776970292261 -1.406776970292261 -0.4328922169735414 --0.1712753067274435 --0.9574104848001241 --0.40843243856149525 --0.3239220575260038 --0.7637923883461507 --0.6266080577033787 --1.5074377533391679 --1.0521412308455182 --1.0667118134196811 --0.7838231577908306 --0.08686146746819712 --0.5390475392641242 --0.4582672252208747 --1.3789637297281367 --0.8952766841056585 --0.9748661144794034 --0.597055550699188 --0.2084860723919072 -0.1710996715937455 --0.35165970504753263 -0.6278807629621154 --0.11997637098001246 -0.8248524313048974 -1.5057034617211467 -1.5057034617211467 -1.9348575591382438 -1.1934009721783903 -0.32534351201819045 -0.6772213625005921 -1.6186761212718659 -0.7093232111898207 -0.0528826082292162 -0.05793131449679101 -0.12982545283683122 -0.5208070424032714 -1.14000933751542 -1.1330852914964251 -1.2736011860639898 -2.0781437545812045 -2.387324522016503 -2.387324522016503 -2.5673926758043057 -2.675687684350804 -2.634462202162861 -1.9905420481408278 -1.1684435384033167 -1.1684435384033167 -0.6549882157708959 -0.8728794611831416 -0.4682031146843274 --0.42499681052874305 --0.13017957736566188 -0.23168137501607988 --0.08629001088005861 -0.4688239062130428 -0.04252174227521455 --0.8457344219903348 --1.1764105112156134 --1.1225494214621048 --1.6015448008627282 --0.9408264861935529 --0.9408264861935529 --0.22644121506785364 --0.5838286668584854 -0.38210929692080164 --0.03403647134837495 -0.7676344470321559 -0.6746161514742247 -0.9045846933400182 -1.0792277735234825 -1.5516318922894048 -0.8445755790189349 -1.7906814505483664 -1.4420260089213106 -0.9650383428793595 -0.029407287116100522 -0.032682202219667666 -0.28693838501861146 -0.9908883057928516 -1.3127304806170477 -0.3784808602013541 -0.598979599405806 --0.23773061103767024 --0.5410752044872004 --1.2869025137879713 --0.8249275157618363 --0.43310084113422853 --1.0409698214255008 --1.8297231274350483 --2.1477832839111652 --1.6554893595465743 --1.5090765549128897 --1.8664046736590758 --1.5928195464543808 --2.2628566966443593 --2.804775811428289 --2.7853877958208253 --3.1299727957719057 --3.1299727957719057 --2.6423448122932176 --2.395736037593669 --1.8065682727433094 --1.2742377538375056 --0.4113272929641667 --0.2754659620918911 --0.5885555496402967 --0.7753131229208061 --0.855731331168896 --0.855731331168896 -0.11453900616689705 --0.534256017670076 --1.046319720436379 --0.4019387840243165 -0.5374928948946422 --0.01569271871254041 --0.8547936535073857 --0.4019100936554454 --1.1139239720208691 --0.7573745709237891 --1.716123020399892 --0.941503720518502 --1.0373610443459067 --1.1575888189869983 --0.2955903913661264 -0.4651218609787515 -0.4651218609787515 -1.3190806310242746 -1.062024709990784 -0.5713189629467833 -1.2271365423346583 -2.1050804719457394 -2.2755153679533104 -2.7685453448897754 -3.5927629908513774 -3.5927629908513774 -2.9121209150724194 -2.918398154196812 -2.1311349197754246 -1.6709400491439936 -1.452363478492321 -0.47249907369974764 -1.3248033009536282 -0.37470685815008764 --0.29745528389049447 --1.1336732280086184 --0.24329007774020006 -0.17973891209309723 -0.002564069011550596 --0.43744008334749784 -0.010641972748163031 --0.6998010995178652 -0.26758604935527175 -0.6314258540032773 -0.7527950361963882 -0.7094352244570915 --0.17999386995242206 -0.1512737391037161 -0.17784686794856397 --0.11241675266670415 -0.45789111395446924 -0.5109735759683889 -0.7792209589623234 -1.1606440817995656 -0.4482861148203532 --0.304520391681425 -0.41512619829640185 -0.12359806838542065 --0.45548498724799924 --1.2193836219872791 --0.7728552060237273 --0.864152068450453 --0.3742279219613548 --0.08075336195558747 -0.23902310290902207 -1.0754793664954754 -1.0754793664954754 -0.6567953576065458 -0.2627114853475587 --0.5651230525524769 --0.09051911862694251 --0.21096320656829148 --0.6049100936771441 --0.4487182076654448 --0.9670324461873563 --0.7178696465858685 --0.25963566566854945 --0.16535167843662446 -0.20767363245521797 --0.3967504828831401 --0.22565539178335836 --0.5875570155597155 --0.8494575901330201 -0.038850779510058775 -0.038850779510058775 -0.1385123093424525 -1.0981371284896222 -1.398172611024367 -1.6843738138997981 -1.5717691982640862 -2.5362503427372225 -1.7535787650931718 -1.7464204017372777 -1.4093122165994516 -0.5589919024117711 -0.40986843327242595 -0.5104913151750393 --0.13500382136630906 --0.2653390423617039 --1.0599299216883193 --0.27117474065244607 --0.12922319481854627 --0.1262337607742714 --0.8436330612241882 --0.7190215263531212 --0.7160228304421454 --1.548246814747538 --1.7886970970687965 --1.7975869856552298 --2.0070103995560777 --2.6809495922943274 --2.83046259642099 --2.83046259642099 --2.66665965840086 --1.8267889680177236 --2.171471168285678 --2.19587272201173 --2.075241663856671 --1.898297090923423 --1.7696508511476376 --2.1913836841902863 --1.995545392499425 --2.0080152759795165 --2.075754219355644 --1.511644145156203 --0.9828353847742457 --0.39655415523675774 --0.327492058172687 -0.35132893741732474 --0.4098140985870138 -0.3196354639565475 -0.18849259075735703 -0.6710709514517567 --0.3201291920053352 --0.6474349608035954 -0.24356986096547661 -0.7983243960056916 -0.4173103525083851 -1.2776119015993066 -0.3668976723955819 -0.9565539127719016 -0.2395942417630177 -0.8029303477134284 -0.6835350381516548 -0.33314089264144164 -1.3288855017522327 -1.69067120577347 -1.7038295695380925 -1.7038295695380925 -2.2495233170141855 -1.3206988713877454 -0.38053172443850936 --0.10777889734786916 --0.4359117640246455 --0.24702053592736162 -0.622623610941081 -0.9950670819636322 -0.6470896429660155 -0.471972800303877 --0.08897313868867607 --0.19474329238760524 --0.6316702678149118 --1.4856782320087347 --2.0816731137696403 --2.323997978470267 --1.7637471243471252 --0.8051234577983866 --1.8045743541594486 --1.8587360689317225 --2.376670060716319 --1.8900898631696728 --1.9885285815095992 --1.5451050435684475 --1.1129808530540461 --0.9747870259071891 --1.8739002821228754 --1.7645027578727615 --1.5303229866898058 --2.5113062153424384 --1.8071501058714061 --1.5601373188099716 --1.531862026814321 --2.352581230483347 --2.6309382535660917 --1.819556349446784 --1.7503224609783787 --2.5823405570473397 --2.3040171356946564 --1.6471931310565933 --0.7485163270015294 --0.22730013092223444 --0.5764112855052187 -0.21604369504921783 --0.6973085255383246 --1.2498071754067848 --0.6320974760830997 --1.0745693365887279 --0.14627951388521354 --0.41626059363502843 -0.4909874193581586 -0.11301112881907849 --0.6264376313997599 --0.90391619057735 --0.90391619057735 --0.90391619057735 --1.4775606573231714 --0.6218176655866363 --0.8354179808334142 --0.45839652354326 --0.7585251323910156 -0.1659681826788102 --0.7054217778215828 -0.12581072348798394 -0.1251347508884385 -0.19774527278269682 -0.19774527278269682 -0.10325305042005994 -0.6938929023094864 -0.15175684291029334 -0.14727087005654516 --0.05895349817632556 --0.9714298884323216 --0.5465599775924717 -0.25101034517947673 -0.7600134827914244 -1.4406559316765026 -1.4593459165524445 -1.4270813885971778 -1.8757199516134102 -2.3527255663097306 -2.993940335817824 -2.5308399153918133 -2.7028255698385992 -3.6234022617804023 -3.2325892123335707 -3.88535027487028 -4.60666317526502 -5.434467773577513 -5.201825524695307 -5.343401658847158 -5.075664689810448 -6.027683937099746 -5.287951372282352 -5.287951372282352 -5.3895612434300535 -4.530852507019639 -3.8765682729752404 -3.1983383161033068 -3.1983383161033068 -2.998297068046066 -3.4477212725070716 -4.17287143006853 -3.342825977555437 -2.951492315088627 -2.951492315088627 -3.0915157874145347 -2.498819268153279 -2.1147121594731555 -1.684396819096727 -1.3569675492752942 -1.719991533405322 -1.0882052242423852 -0.7549483316521984 -1.0042092499255566 -0.675544055186008 -0.21420658800938752 -0.6903024363833172 -0.7975417250591796 -0.5201461355655351 -0.6495580273151708 -0.07975671332734369 -0.5807967503150914 -1.1529327270848206 -2.0640393518108526 -1.1260713480581097 -1.5720918745163723 -1.768437520884322 -1.9172875313922757 -1.3588789437268955 -0.9902476554814817 -0.4070846391184838 -0.7560097921161643 -1.1388232576533102 -1.3273162353907537 -1.6420125818282232 -1.5367536012396772 -2.3032531097881783 -3.2808686025543103 -2.4425254256165854 -3.1342617856367694 -2.9248626090997267 -3.6486408917844626 -3.7306994059269076 -4.025260339244983 -3.900565928579608 -3.9985161376188194 -3.1935057647177034 -3.1935057647177034 -2.2753483189124792 -1.8476700196895126 -2.419967583284655 -3.1224326125555546 -3.382156194487009 -3.382156194487009 -3.0305404050070837 -3.6106893416706316 -4.454268497621845 -3.6559341704474972 -3.612493669923905 -3.3740548226313063 -2.6424926973567784 -3.162434014031863 -2.4527897318190446 -1.9025884826332702 -1.9025884826332702 -1.6584963469580507 -0.8393501896589015 -1.3738586900886425 -0.3822515571215337 -0.9467820689730586 --0.020305099800685955 -0.6730042149914155 -1.3679405949259784 -1.11939669062882 -0.9072423408597704 -0.5091884437322136 --0.029570608659643893 --0.6699204945962014 --0.18715038440229814 --1.1183296322867489 --1.1244143930315444 --0.730675429416332 --1.0524826491605874 --0.0646502252729424 --0.50708651754219 --0.15660136831680893 -0.5610554199337346 --0.11283103132627315 -0.6090075769298905 --0.3132034047900728 --1.3009106624582367 --1.9777884486392558 --1.0004268571380848 --0.3748593346844744 --0.8350374368711687 -0.15669261328348794 -0.5809881856966298 --0.011351367862676098 -0.38288715154479924 --0.09713690344037484 --0.5130283449001488 -0.31084627885468097 -0.973243529452345 -1.034949437627763 -0.06878230437641863 --0.5808156195018634 --0.9048861847939255 --1.1152538206545255 --1.1152538206545255 --0.7568402648251282 --0.9069616873827128 --0.6492586803890917 --1.0654843127665423 --2.0572558979001223 --1.9119436464613897 --1.6457528875049443 --1.8546194130866436 --1.2658644430886963 --0.4761412605950117 --1.1565605292553065 --0.6417397150288375 --0.4414281275120855 --1.261700836448191 --1.1436585639831311 --0.7360729077775456 --0.006298397634196817 -0.46757402339623844 --0.4563033746303069 -0.32922125695002924 -1.0037080576819541 -0.9674262673593724 -0.2713365600992056 -1.2159680390012895 -1.9624487890693494 -2.9384394931804856 -3.1551746027271497 -2.7493457285960137 -2.3820353673034798 -1.6343828727232232 -1.2550757297099304 -0.6050176861071044 --0.11741659050270248 --0.9018320033733405 --1.4279353824283707 --0.9733539556259836 --1.9115730494620724 --2.3047450345829925 --2.695650179458003 --1.7171699632235122 --2.0181625964298564 --1.3870370726824157 --1.50507455326564 --2.3497960169219994 --2.4970525903601475 --2.74654304006986 --2.0894812119470005 --1.2505487968599305 --0.2543312678418683 --0.5453570791398558 --1.411102632523146 --1.5759440171918149 --1.7284685213574194 --0.7599384435936429 --0.1070413920644393 --0.9075192098151326 --1.0077640206284846 --0.33016477148272294 --0.4575346971093125 --0.4817835619646429 --1.014369989387111 --0.4642513559038568 --0.7884815699388216 --0.7334096617492148 --1.7036280939329655 --1.9729146858620727 --1.174670040832118 --1.4672125898180308 --2.009684775072897 --2.721569715398476 --3.6565579426358177 --3.4470585937591114 --2.473451994947863 --2.841078908276063 --3.7001557350297993 --2.981311561526467 --2.4024314429182505 --2.0628756653876383 --2.0628756653876383 --1.9491162988998953 --2.046989609097119 --1.1844486642385499 --1.163968646150758 --1.2390232388428917 --0.3726859435805219 --1.2099354841500947 --0.42638452526468584 --0.37868016218139045 -0.35212440655713473 -1.1518089764002675 -0.6600997429574459 -1.2063226414767696 -1.471543345427023 -1.471543345427023 -1.471543345427023 -1.499751247589781 -0.5073204858979967 -0.9456449779955811 -1.8017330111062444 -1.9076807241162652 -0.9079878526687648 -0.8827069352815379 -1.5958563388824056 -0.835688159140596 -1.7634293173625386 -1.5954711310776708 -2.3373109737154607 -2.1153603454821477 -2.37219345492732 -2.4201358633275816 -1.986295580166059 -2.613191799533505 -2.963784501293884 -2.1585849923665914 -3.1346255376562997 -2.9768169412509318 -3.911456898093962 -3.4856004997874277 -3.912995338672853 -3.547054353849902 -4.496995899685776 -4.617585440917268 -3.8494466567897145 -4.317336546312805 -4.11685568676371 -5.050088105909148 -4.607600181437933 -4.647080744762992 -5.479615718466107 -6.2485688446053125 -7.071357119852477 -7.071357119852477 -6.443096305313054 -6.831452646426033 -7.041127952241986 -6.108072577546743 -5.426208855600853 -4.625181186707303 -4.738123767893576 -4.197816665418936 -3.7349115425749444 -3.891968192101602 -3.2663530487975505 -3.298926293724956 -3.645452312888085 -3.645452312888085 -4.11332921417313 -4.636488213602838 -5.503770317671434 -5.503770317671434 -5.597858288599323 -5.0810521215424025 -6.023839806178704 -6.023839806178704 -5.889994133720442 -5.698423093787486 -4.838375213793542 -3.9639249339746407 -3.9856927085542244 -3.687168285094872 -3.0137121075659135 -3.964874275361332 -3.0731090472634417 -2.4168285121851865 -2.5780569066570553 -2.5780569066570553 -2.713318136706275 -3.5346646690603967 -3.2979304165247108 -3.8175684686471785 -2.8555357218544843 -2.9239158159378364 -3.900466119539996 -3.7210451534698867 -3.0371665846763922 -3.0371665846763922 -2.2902066475334117 -2.6338708160341615 -2.6769674023796375 -2.439544132697179 -1.9244716010975946 -2.819620269583286 -2.819620269583286 -2.679285755547054 -2.741068129920602 -1.8512261433310544 -2.4808306625012904 -2.4352187088835846 -2.267732524242491 -2.213842101783374 -3.050309248584858 -2.1595254623068563 -1.24394465599294 -1.1495099135462818 -1.7407380193417976 -1.6891191998339337 -1.6891191998339337 -1.6891191998339337 -2.630268911744362 -3.072036725325552 -3.9231242679392215 -3.332190086023093 -2.82644677042809 -3.582568788341696 -4.4575832856906485 -3.981766853928735 -3.6122031507149024 -4.069451208670683 -4.069451208670683 -4.210143506873937 -4.6384593085589865 -4.19666475621679 -4.439270822152471 -5.259390964163872 -5.9336832990885515 -5.382943854018061 -6.234283979082681 -5.439953977823711 -5.428419599868642 -5.428419599868642 -6.169332938632861 -6.64633081438159 -7.085478428369779 -7.085478428369779 -7.085478428369779 -7.76475435191304 -6.897408443747649 -6.897408443747649 -7.544260907420905 -7.544260907420905 -7.544260907420905 -6.787230908963588 -5.870940841283714 -5.138012190767695 -5.294174772657924 -5.105283143097661 -4.318230262668183 -5.212230430192529 -5.114604075003755 -5.114604075003755 -5.114604075003755 -4.491422283785932 -3.6550208940167597 -4.209597016926609 -3.7703037725769035 -4.651540662784674 -4.562112491414772 -3.6541131206333235 -2.846946837114559 -3.166377812840424 -3.134775156205843 -3.0944767206795794 -3.8225321583003726 -4.702114768959131 -3.897925547342914 -3.4042727279257132 -2.992111076399989 -2.2479743405611794 -2.2479743405611794 -2.8315648471735706 -2.9526358810987148 -2.9526358810987148 -2.639758665397634 -2.9108073208427294 -2.797952627577205 -2.681537404531308 -3.1911799270979895 -3.7682047120664017 -4.340110164302627 -3.8466926057898667 -3.5502195283170987 -2.5712122872100385 -2.792479670894478 -3.5231528359101754 -2.6941525598692175 -2.716216390301066 -2.167432355440369 -1.6541887575304526 -1.0212251299268993 -0.4723150857469498 --0.08006164686848805 --0.15884751755830806 -0.3172499484441912 -0.22766952523802608 -0.5954018022317413 -0.1830258367669696 -0.597608699894557 -0.9169162883527545 -0.9462598006551358 -1.4864073636152297 -0.561806696747073 -0.4632466899796527 -0.4632466899796527 --0.12238108926172664 -0.6479884790133911 -0.8201291945797807 -0.6596299891975923 --0.26406144672003196 --0.24458705738399344 --0.3854544224585287 -0.50197895430401 -0.5380317510537905 -1.2358061399308742 -1.4942159600907214 -1.4574389876956606 -1.728412965621135 -1.5074753740187727 -2.2707276756308934 -2.2124913568596325 -1.2611985491711641 -0.5211945233205786 -1.1417871607625896 -1.068258227943062 -1.787034480605625 -2.3143320650517825 -2.3143320650517825 -1.926806274250748 -1.035521374571932 -1.422662424670747 -1.3762649739733441 -1.2807238076513565 -1.5348232697662538 -1.318772720180935 -0.8257526148179725 -1.771160426997716 -1.5646728225032027 -2.162968057119721 -1.339655126881903 -0.37703164558463187 -1.3154485000268983 -0.4062777286699344 -0.38364782381724993 -0.43455214745417525 -0.9858790551397624 -0.6656795914435816 -1.3717732437390342 -2.3689242651009037 -2.0517472816517115 -2.3567006529317482 -1.8910528805212645 -1.133445134661623 -1.714505507928828 -1.7668713994573502 -1.3809012016618278 -0.4747420013060095 -0.8796278579913561 -0.1313713306632891 -0.5488997144024881 -0.6691889079886753 -0.8403979638501637 -1.3792299831494428 -2.378493966947964 -1.7387190686215301 -1.2408098411321546 -1.2408098411321546 -2.239095587409392 -2.9651946249174688 -3.2336192826277728 -2.956544292744661 -2.047907834436428 -2.1428874602027013 -2.2726548276098475 -2.3930326460511675 -2.245735446077356 -1.564136188877257 -1.564136188877257 -1.9056193096956748 -2.6265676298705127 -1.986007613548238 -1.7071769831148633 -1.324936601794977 -0.7755363669480326 -0.9953237492339075 -0.5591619309739443 -0.15416814569336146 -1.1249501472259809 -1.2826020126891498 -1.7486113183087126 -2.4648254001357004 -2.5576326322827425 -2.2109967362975675 -2.2109967362975675 -2.340068441007519 -2.4702132269900603 -2.896857932718234 -3.2918504590549276 -3.133358157276782 -3.133358157276782 -3.92394156110373 -4.189276564592254 -4.309720347934355 -3.924176572768649 -3.3292371046744185 -3.669093024438291 -3.898143766482257 -4.703669814406193 -4.703669814406193 -3.862058524403463 -2.978331597836771 -3.874121823662681 -3.277690091936492 -3.4761925936498175 -2.88074211979266 -2.88074211979266 -2.80307723058183 -2.9458789331098103 -2.1614903100494196 -1.3399552510699997 -0.35163485318908516 -0.0020425713671591295 --0.3049559009150673 -0.5176944465213744 -0.9173947217068188 -0.1272007002039497 --0.20717760027826115 -0.6028140169420343 -0.02049071380968559 --0.5005235591000848 --0.07491791862143671 -0.153949122315726 -0.7505068852878262 -1.6730454525597072 -2.110250864331868 -2.920109275661238 -2.920109275661238 -3.4922099702876412 -2.9382608389234353 -2.019915318713201 -2.0352948881035475 -3.016238643954772 -2.6577368513435373 -3.583142995986785 -4.042417948568179 -3.128159428212003 -2.759454398579792 -3.154901657385509 -2.795485128746243 -3.2989876247751067 -3.7547321337456507 -4.476194939690151 -4.9162953362209105 -4.46613851231938 -5.198796947599639 -5.5179726612207585 -4.858362584272016 -4.402632091983373 -3.425073697616008 -3.351259768314822 -3.160334645627607 -2.7048651605620484 -3.304006272843764 -3.8145201361422503 -3.935026812661735 -4.041500537678433 -3.3525050643901833 -3.089497452264863 -2.9553443283752707 -2.982496238352601 -3.078845859680203 -3.797040777553808 -3.797040777553808 -3.797040777553808 -3.466655064094596 -3.4313065429524587 -3.757702320709905 -3.757702320709905 -3.757702320709905 -3.0775455863192613 -2.900719896885272 -1.9427185619260186 -1.629793737112737 -2.0454111389641323 -1.3987382652782274 -1.5434134091121987 -0.7586529245020492 -0.14476169782588477 --0.7368545295567248 --0.1956235325423008 -0.26878920424871544 -0.4098470546507418 --0.03934890769223809 --0.5483909664250773 --0.8569186669205553 --1.1519160077965904 --0.47518236773083156 --0.043924525627179856 -0.8493064821247494 -1.6227593033699956 -2.572227312013892 -1.9777005283210436 -1.9777005283210436 -1.204629516778205 -0.7380497660682287 --0.023999212186902708 --0.30301453499290343 -0.2314095186730174 -0.5436550665341169 -0.7819001901071125 -1.7510474862525687 -1.3926007584444604 -1.1130151367278351 -0.5554513386352156 -1.4440578991995991 -0.7240024406328087 -1.6380433468978288 -1.2932957599230024 -0.40329024800541813 -0.358801285839362 -0.546177644456355 -1.0732229011172176 -1.0732229011172176 -1.465786457442967 -1.7998688409866215 -1.7998688409866215 -1.7353512980469001 -1.7353512980469001 -2.472499861041073 -3.3739992619757646 -3.4650873764834262 -2.8432096778513474 -2.36979320587734 -3.0029558331384276 -2.9642955066995014 -2.9642955066995014 -2.8045591452550407 -3.679710358840789 -3.3383403842399697 -2.8470539259634724 -3.4744197341867205 -3.3778194208890784 -4.310766261328598 -4.794824562660489 -4.2345591339670285 -3.4864001950718393 -2.7067537367150036 -2.004937104764455 -2.742100995141058 -2.217997236411919 -3.1612807235957225 -2.9371776807011987 -2.5573098536887797 -3.190783426212103 -2.5902304536754004 -2.6977326648558844 -1.711649712345288 -1.711649712345288 -1.4836664492627278 -0.806045320663809 -1.7546824130147636 -2.116050378849169 -2.116050378849169 -2.784528751847989 -2.3670051788301913 -2.3670051788301913 -2.3278151425150244 -3.3261043636141827 -3.5395132811196506 -4.132683762031234 -3.966442020379582 -4.770277467709446 -4.558522825489802 -4.558522825489802 -3.5804726752465044 -3.976379813046167 -3.380785755498482 -2.8803429084138443 -3.295598140890746 -3.000642619326881 -3.9658281811259877 -3.4853097120774357 -3.4853097120774357 -3.2693777667088804 -3.537596673184199 -4.218066702605868 -4.772316537130925 -4.955067608268823 -5.576799740460766 -6.016919196850154 -5.439152619330333 -4.666972647734343 -5.5785772761468255 -4.613783900962243 -4.613783900962243 -4.333054446474951 -3.600172247139552 -3.7455518472097955 -3.916448301801907 -2.9409519152253547 -2.7200741696120665 -2.9347854107308025 -3.5175660788763814 -3.7689604949916715 -3.464993878435338 -3.524460241222244 -2.597754929284943 -2.908400836486105 -3.2825585850616514 -3.7365286150374604 -3.5816923195308363 -3.152848223134112 -2.7117267894474772 -2.378718495332526 -2.213858753069483 -1.7484015037169773 -0.8577696726725681 -0.5105651506119758 -0.011209396030875007 -0.015390628907726134 --0.2123552782376671 --0.7629892568399775 --0.8321062734839046 --0.338585764143168 --0.855291218547952 --0.16647966875671827 -0.6788350722019088 -1.0273412631932302 -1.2040650088906693 -0.6533314950871589 -0.8191509700626283 -0.4854678444322894 -0.4141163673329882 --0.12075731250801525 -0.5810416243318302 -0.09792859557736222 -0.9387028442466953 -1.3925959533437524 -1.4016520710247937 -2.095430886706671 -2.783929735619675 -1.8329463393301662 -2.8191776520638006 -2.8191776520638006 -2.8191776520638006 -1.9050676740833796 -1.6771697230734577 -2.39847820677051 -2.6156928472729666 -2.3612382691972384 -2.0472537393683865 -2.274524598439548 -2.990275270418332 -2.8060267137152493 -3.1494812289863314 -2.325410974998163 -2.118901555768973 -2.0957066061914613 -2.3633098821810847 -1.8721930925231591 -1.146077258302947 -1.406813439019506 -1.2208053426681547 -0.26311162444158365 --0.6186867393451705 --1.4008147659129606 --0.8984278348847834 --0.8984278348847834 --0.7553689175639606 --0.7517002844405822 --1.7322430001118865 --1.7322430001118865 --2.253266912125029 --2.253266912125029 --1.2743662155379458 --0.29265939787941253 --1.221938135933502 --1.747736675040738 --0.8383632463247792 --0.8624357363192431 --0.1307974431460791 -0.8653292109041134 -0.32289852237855865 --0.13807058027736208 --0.7340509482188888 --1.0166594682813495 --0.15882885865042073 -0.6022366543246271 --0.39737132727067803 -0.2734853684918941 -1.1972529701152093 -0.6679890939161965 -1.2250223241049558 -1.3264029552179437 -2.2568922360790937 -2.2568922360790937 -3.1615151354632287 -2.60876363873772 -3.2404921713843886 -3.2981411914597016 -4.112932784069615 -4.112932784069615 -4.064413345531833 -4.064413345531833 -3.1958841889184044 -3.0480862663117265 -2.8869946325529625 -2.976287633421167 -2.6445195340493726 -2.0788434488448244 -1.1390437670149514 -1.2851003039978395 -0.4321049568646744 -0.4315487617690813 --0.3338974086539007 --0.577074090445441 --0.22249217693177892 -0.01671922179404839 --0.33811775664736843 --0.2696226472160116 --1.000499046834661 --1.6998310693986913 --1.0165087622405948 --1.9599297526250432 --2.487063649528095 --1.9680997534373073 --1.8222161082190338 --2.177602148489465 --1.242857414979073 --2.1904500168569 --2.8770015513599505 --3.105115120814661 --2.258225303581473 --2.258225303581473 --1.397704273524838 --1.1451093227942335 --2.0572035460003684 --2.5826044745712737 --2.8948427750000123 --2.425417130961988 --1.6248178436347351 --1.7764912155066415 --0.9516487381087966 --1.1476856276495901 --0.9127639888256487 --1.1032694843778716 --0.646825115886627 --0.89260257805256 --0.31299732958504134 -0.5567984761949129 --0.30807938841225047 -0.1671415427042101 --0.6381150938122292 --0.713488695628826 -0.08073140490787156 -0.5856534446306911 --0.35315352960945057 -0.03965140867887995 -0.4597561547791629 -0.22831926378579281 -0.7931546417682133 -0.7931546417682133 -0.6201405196555536 -0.45950463864454394 --0.43923933200179033 -0.31572022649573805 --0.3053661070624031 --0.4982820511300807 --0.6585437146990821 --0.24584998260332924 -0.08159308408132604 --0.004413980920896954 --0.24063419523902596 --0.8078122096893546 --0.7807022409020107 --0.24979531986100312 -0.366424574837915 --0.08965448138337795 -0.1687070832666444 --0.20811410986967738 --0.38998496624959333 --0.7270792239545737 --0.823217131685444 --1.5829260753085639 --0.6972974100534035 --0.9148737653953277 --1.1884294441467702 --1.3378148942127424 --1.0234912297522458 --1.4680661471595342 --0.5793447804816634 --1.3426859235147803 --1.4744322247422623 --1.9765080550357232 --2.424311277490832 --3.267675478864346 --3.797002417262034 --3.797002417262034 --4.617738605279536 --3.78973083824839 --2.833801928890595 --2.0489108525348487 --2.3909420537711927 --1.6653454698091292 --0.9093882108602664 --1.8336331917107727 --1.7807637937727985 --1.74330923056877 --2.7160546068308067 --3.6966393453205892 --3.0093371207535426 --3.4215774929522245 --3.7106619531677056 --3.804613086429353 --4.6703341038894095 --4.733267573477166 --4.733267573477166 --5.094485172376975 --5.775920002389293 --5.775920002389293 --5.7579840513634375 --5.7579840513634375 --5.566354351610426 --5.566354351610426 --4.682713140560652 --4.682713140560652 --4.834717326691743 --4.47946243563014 --4.072836526067927 --4.915380960225403 --4.3432472196166625 --3.698314461405401 --4.0988353963736195 --4.46013991779586 --4.695197055335177 --4.208202468253833 --4.704850196231977 --4.216733555505664 --4.216733555505664 --3.9234367172926756 --3.547502504578282 --2.682400814100311 --3.1465532591405148 --2.2212701848913463 --1.3181746720463203 --1.2824050575728976 --1.761770545118814 --1.5274675617652342 --2.324811978690223 --3.146974924587384 --2.7983815309087774 --2.7983815309087774 --2.7983815309087774 --2.6358825486514768 --2.8129182917632694 --2.001419461352986 --2.7448957571063417 --2.260215091189311 --2.260215091189311 --1.8635948222516747 --1.8635948222516747 --1.0788965734979086 --0.2575750129144736 -0.577400583079013 -0.6277810046643024 --0.2940088284068896 --0.4956984293017844 --0.06648064175919821 -0.18287184965680348 --0.6628040390193292 --1.3207674795811335 --1.5325509463972726 --0.9475976985454848 --1.0352327750586214 --1.0978302670761955 --1.0978302670761955 --0.5123129223913361 --0.34473773839889943 --1.087043449583009 --1.712241565848052 --2.5862402033382934 --3.0475514067610634 --2.8177589881019296 --2.187656583168155 --2.187656583168155 --2.187656583168155 --2.516745866920351 --2.126424282610271 --2.6971946301491694 --2.6971946301491694 --2.806438248003765 --2.0097973614167657 --2.450848524881724 --1.9813974966358567 --2.4033193247116045 --2.447601344586758 --2.447601344586758 --2.929026070152607 --3.3119997120726534 --4.205867537682712 --5.103374345471545 --4.945310950878895 --5.075808587492149 --4.311639914485758 --3.59892870069811 --4.511068952757396 --3.8907767505257786 --3.7703538718773553 --4.257802046649324 --3.92072632244284 --3.9501487863445415 --3.81116477467288 --2.927354358386146 --3.432003307949863 --3.082321291471639 --2.4991783173397604 --1.729821483618339 --0.8785365851340488 --0.8564930632615735 --1.672073998087078 --1.5147378148132804 --2.2906604802008212 --2.9605380815682376 --3.139753547808555 --3.8611669837533142 --4.070876381253735 --4.617747933454749 --5.297885233791739 --4.842589298787292 --3.875183937516389 --4.257192891348219 --4.143260253728291 --3.7669418033983284 --3.117329364536036 --3.117329364536036 --3.117329364536036 --3.9037431273570036 --3.6099589339701716 --3.831776186239278 --3.055227215314173 --2.177301242412859 --1.5808189981674332 --1.9838194534229845 --1.2270159499913376 --1.5350732341349302 --2.3115667310749215 --3.2794289656433397 --2.828991680671223 --1.9919137274598828 --2.47143939673062 --2.4496843756732583 --3.264630287776092 --3.4541218389299404 --3.3155321353427407 --3.7955989164604502 --3.927500574365339 --4.462279704811373 --3.8651999255457796 --3.2315493596580973 --2.3638789261655004 --2.636067605266365 --2.524271806285477 --2.6406234832848434 --2.0562119995988892 --1.0777469075473578 --1.115534416907828 --1.2734264931990231 --1.2734264931990231 --1.1847989461196387 --0.5969029733154376 --1.3886007339057307 --1.450694458307384 --1.3325674858262564 --1.8046295927844587 --1.715824637111521 --1.1387267467724786 --1.1387267467724786 --1.176460285915208 --1.9360902975672518 --2.620565058719409 --1.8767303695811062 --1.4477283344597274 --1.2628088162870377 --0.5589909102599757 --0.5589909102599757 --0.7088728929188582 -0.06941257619330565 --0.733694789355038 --0.5355251188744036 -0.03516730951726699 -0.10294930521676238 -0.37777413085705247 -0.1782473798376334 -0.6815652569814201 -0.6815652569814201 -0.17983535626670188 -0.4177392711518726 -0.6815084284625039 -1.631420309407029 -0.633434339722234 -0.6449102896568355 -1.3422468142626562 -2.0627725137011774 -2.961517748571725 -2.8198033768818607 -2.5858393789601015 -2.7464187461664418 -2.7464187461664418 -2.7464187461664418 -3.6190691837394926 -4.419547564492806 -4.375354633744454 -4.166764800911689 -4.129173600102158 -3.5406120425260745 -2.7505213655566214 -1.901500796051467 -1.6665310425315156 -1.9856245144519369 -1.6553154215556591 -0.6802541903117161 -0.9843826682937293 -0.2007516070515627 -1.0084520891483555 -1.9368446755944617 -1.6719408348111822 -1.2010616620162646 -1.5831553506034024 -1.4188525598909103 -1.2276635417415473 -0.4260268725105334 -0.6942961333897619 -1.4096029716796754 -2.2179482293456223 -2.1150784587396334 -1.1370707682039443 -1.0828537568426713 -1.564933576425921 -1.8676428076934846 -2.172515910717567 -2.2665615436524638 -2.858114491947229 -2.9511152854144496 -2.4212711411799503 -1.9209027204197664 -1.274402538365539 -0.5844495576776318 -0.9714011146700772 -0.10637132468083221 -0.6608323233406699 -0.597526226330192 -1.1590226236309862 -2.1268905741463184 -1.9111444223282597 -1.731514594015787 -2.276831389286894 -1.3868360659792989 -1.2302977966064153 -0.25901060739266235 --0.5157395017287256 --1.1530590334676611 --1.6465973081749166 --2.0403892067019527 --2.376815564584207 --3.0388549476274465 --3.976804519343915 --4.661477421696755 --3.9714339400588723 --3.541793385957834 --3.0461239415210075 --3.5445094110040527 --3.2746679346219656 --3.8504079192906424 --3.8504079192906424 --3.9360376408665365 --4.01564031021436 --4.406772183926397 --4.992478193449181 --4.306101452485539 --4.9793181979399295 --4.621009651632383 --4.9033815802991825 --4.962788493969721 --4.962788493969721 --4.349198312635114 --3.995188801462982 --4.374859195632154 --3.485263943230624 --2.685197781096093 --2.5569694035052297 --2.1733502066716053 --1.773799704451649 --1.623067541189884 --1.1470424104601902 --0.7994774337817374 --1.261801366596099 --1.7705587073445797 --1.1229765403362544 --1.4783026608719192 --1.2108206192942634 --0.39179417863850685 --1.0508060483099382 --0.4086918302205431 -0.40668683796706584 -0.8339005687824836 -1.7920480824961793 -1.0278679311040715 -0.2540969360585501 -0.26659031218575646 -1.15342640068673 -0.34450523978562897 -0.9446830174543346 -1.6244263238579535 -2.2050155058330234 -2.0438305180495577 -2.3352774399274554 -2.731494513849654 -2.488857800837995 -2.3067547654175913 -1.823354181397193 -1.823354181397193 -1.1398335585601427 -1.1398335585601427 -0.5627381777926472 -0.10585053070878081 --0.2957252213947077 -0.37519301357955537 --0.11702801117056494 --0.9070240970547446 --0.41663414039267 --1.3906213113514565 --1.1749433866797996 --1.4996221677380928 --0.7089149733239066 --1.6031877986136607 --1.2602926549047382 --1.1323593888879262 --0.20205862937356778 --0.6423261245671515 -0.32778346878203035 -0.49862466153281393 -0.6266051414755397 -1.4366094730680707 -1.105359313048936 -0.332123464433431 --0.315604071024731 -0.6020243053301402 -0.5139306786787424 -1.2909424072718862 -1.6233396814519325 -0.7386319891444182 -1.2352275685034833 -0.7157428247276083 -0.13987736160027597 -0.4673677290901377 -0.770249897457248 -0.9581081607039561 -1.5782743504963455 -1.77168103738237 -2.103336481551902 -1.8556777931386472 -2.592457884872843 -2.16803832148258 -3.061868941344626 -2.6757136035475555 -3.275382409296662 -3.374270154835437 -3.0534748486667063 -3.3621809255127664 -2.6145584184780204 -2.248456020511012 -2.9188059786729874 -2.7964810676788576 -3.521497026448955 -2.5586795120371093 -2.1506074516850244 -2.1506074516850244 -1.3438849218937543 -1.3612667737807038 -0.9127892627602502 -1.2828844263746637 -1.3973375724231434 -0.622367587659129 -0.847853929072037 -1.0061210735376984 -2.0027048870904163 -2.3968984676492626 -2.182186329346438 -1.6917944465535326 -0.781512468364062 -1.0267287174534696 -0.3038344946681977 --0.2852675723765692 --0.6303834335030979 --1.0277727369996545 --1.1165155106537146 --1.2206873546078953 --0.2426418770986951 --0.4648408655375825 -0.152975748439372 --0.05450953254763968 --0.08959710442215318 -0.6574899841217289 -0.10834912216598835 -0.5008376757761058 -0.711474893033948 -0.08222805287312263 -0.14413907359175637 --0.742538643758624 --0.9724022430894674 --1.060907360373855 --1.7203559053306732 --0.8125214197971433 --0.8391324253603715 --0.0476855541803215 -0.7670796155262455 -1.5727567110553964 -1.299720309796279 -1.299720309796279 -0.7270949059885534 -1.402266772251817 -0.5087223815823223 -0.133049213369005 -0.01977439805680703 -0.13341575188318489 --0.4297956559412808 -0.3085896532394341 -0.3544071721957036 -0.5974768562783341 -1.2806102977589113 -2.1063119745121526 -1.476709809405592 -0.5437257412667622 -0.13404874461614702 -1.12808275062218 -0.7207006560501251 -0.13756936674116604 -0.2290067461490085 --0.09392258158212763 --0.26620809227718156 --1.2381081973660883 --1.2319778226745144 --0.7581707934306776 --0.6041572193358691 --0.1078388521284166 -0.3582838492159912 -1.1923030931950989 -0.40166479977092373 -0.40166479977092373 -1.3635673588168058 -2.104320825459191 -2.5515301276446483 -2.4072925868837816 -1.8706078095400018 -1.9139904262133927 -1.6937223451715337 -1.1411617047324014 -1.5409629262592153 -1.5360824435982354 -1.5360824435982354 -2.451663881833607 -1.5967118290354356 -1.292013796966864 -1.23736962670307 -1.5399433289528595 -1.7783925154117106 -2.654309194097756 -2.731109569361638 -1.9143940182541703 -0.9215904334912028 -1.9177418809961508 -0.9258921632303219 -0.6872808511885867 -0.11717047066260855 -1.089425565915871 -0.44254589129712385 --0.15233653211485 --0.47781716716040645 --0.3262645269966177 --0.006007256323553478 --0.16365907636006716 -0.2823011731499414 -0.2980762718056278 -1.2057789327450756 -1.0839863840387434 -1.6309575208084106 -2.265426855152607 -2.2822909887285587 -1.9391736983386316 -2.923217253791587 -3.737154732835519 -3.5994586143757683 -3.5994586143757683 -2.8218804492148286 -2.704063034123238 -3.677478252637379 -4.411028574325088 -3.668545298340036 -4.157731117932118 -3.974241937317802 -4.060398040340493 -4.997784824249094 -4.657601821048211 -4.083228421004952 -3.496452572433231 -2.746282678285519 -2.0014775807468794 -1.9507729673901557 -1.5121388359600112 -2.186263673867662 -2.6396089022810085 -1.692929261994855 -1.859288167534229 -1.4075670569465926 -1.324355931396369 -2.0286544340720063 -1.6302339507640045 -2.2746286574535777 -1.846456225525912 -1.8521667513746716 -0.9612114532975411 -1.6891848766815682 -2.4673725419411388 -1.675116702720366 -1.504605124131972 -2.1591395791816486 -2.7640583240174426 -3.029535800439032 -3.78454166942161 -4.568957184260038 -4.568957184260038 -4.213548143581391 -4.307499158810522 -4.023588829563028 -4.474257245087193 -4.332347127035181 -3.5824725536022552 -3.151276179601743 -3.9466416270616973 -3.760768899399679 -3.760768899399679 -3.8774629793963675 -4.2674062871297025 -3.5643040919454334 -3.347232669949866 -2.6374664302231796 -2.6374664302231796 -1.8880059631665438 -1.5714566624732873 -1.1693354510604124 -1.3360712780392252 -2.0553911399592497 -2.0553911399592497 -2.68871739811026 -3.4515227989156116 -4.28231182381602 -3.6868460871417703 -3.7709635638780554 -4.4249497181045045 -3.640980182908077 -3.640980182908077 -3.551644022130084 -3.7350526895540224 -4.109703151009228 -3.8882472684366167 -3.1100130696831183 -4.034766194582234 -3.7927498829645585 -3.3141877584237798 -3.9828760398113836 -3.9828760398113836 -3.736405469601509 -3.5903834854854333 -3.769443632936484 -4.011273232106529 -4.640638415342372 -4.640638415342372 -3.9987287547881873 -4.536722116105321 -4.536722116105321 -5.142770067349735 -4.332012125215988 -4.389425353325171 -5.256613449288861 -5.115026800386113 -5.757919601386289 -5.960986151174085 -5.376477970921148 -5.29029163986577 -4.572555395201657 -4.574144835281194 -4.99248899425337 -4.616314397061808 -4.084336298250916 -3.650556693873108 -2.941860973446447 -2.566977180726882 -2.2188318387434998 -2.970382673640029 -2.544842007069572 -3.2459633111050454 -3.073676654707138 -2.3313800289090496 -2.0093923802937494 -1.8098620406962818 -2.2185553554398663 -1.4565603726950427 -1.0697048453787241 -0.5623504074460521 -0.8342058478650389 -0.155879937656918 --0.45066395681794247 --0.4938523389594297 --0.034305837704831865 --0.11806922175128176 -0.46928392633024885 -1.3110739745461049 -1.151309171818394 -0.9646700786228054 -0.0169962867697927 -0.8170721698499531 -0.16712602749057381 -0.7690999360828826 --0.09752177275073504 --1.002192428646528 --0.7415272440880087 --0.6429968726455939 --0.2515584595034799 -0.5434801318196283 -0.8528613358969135 -1.8390198923362238 -2.112850875785716 -1.1223992014607262 -0.144026143213007 -0.9284756626557578 -0.9284756626557578 -0.1434787636718069 -0.6296520538429553 -0.9083558637700255 -0.27144254827110403 -0.4348872597728859 -1.070754661995148 -1.3942870495845825 -2.203656331338241 -1.4348053152753586 -0.6957027503866029 -0.6241232998043521 -0.1933334186707243 --0.3369215372435359 --0.22708225154064499 --0.765150207291682 --0.05466572988071494 -0.33576034346955175 --0.25635345502681517 -0.6549364844401819 -0.06284162871447818 --0.7180685044240454 --0.6561206162811302 --0.1387637973914959 -0.4450034057653258 -1.3160827614713115 -0.3846586201897224 -0.27057524844693803 -0.3333555984734745 -1.1751066354446742 -1.7679717553621184 -0.9398881302482145 -1.1053708262762583 -0.27296838295728487 -0.2584755310691266 -0.0686157554820841 -0.4205397692637316 --0.25373807011403415 -0.3652453962332429 -0.45115877416402106 -0.0697530591182639 --0.29886152095130103 -0.41040563406701525 --0.2643978103865343 --0.7613496747181022 --1.0125306332831994 --0.7805346190168141 --0.6692642190002098 --1.5423157617640657 --0.8993575805610119 --0.8011396019522534 --1.3174193027944425 --1.6911501586839455 --2.0165396724767986 --1.430566130640865 --2.1708866401572946 --2.9607283999706606 --3.451261246914545 --2.787809290537732 --1.9745394732501875 --2.0371269366346345 --2.2001731491076857 --2.677928956480695 --1.8351460718722483 --2.824403873581886 --2.7171909826844294 --2.7171909826844294 --2.4944761666040334 --3.230363580761412 --2.762571666446015 --2.352839818592645 --2.7179086518445046 --2.7179086518445046 --1.77035303440235 --2.1320715697067034 --2.1320715697067034 --2.053326517634139 --2.053326517634139 --1.884907243987035 --1.1655680435327642 --0.30926112295845587 -0.23239569594289122 -0.7731025851782412 -0.026856982681979558 --0.8057852350862273 --1.179290799989284 --1.098166060553236 --0.6963964082545475 --1.0262252760576285 --1.3030465736007213 --1.3716792298521883 --1.89601272163825 --1.2980064465421657 --2.2846005418168973 --2.3239267571595152 --3.2073221564434062 --3.332303492127057 --2.8345221741725943 --3.1931619219702476 --3.2688767126936167 --2.918537912895331 --2.8990991682600686 --2.7251242187276477 --2.8738686765307726 --3.7025103329528335 --3.5807649032335056 --2.592294651970688 --1.595998371332178 --1.0242532334108436 --0.25386144581174874 --0.25386144581174874 --0.3440499561414275 -0.07730121292553893 --0.19126101566391074 --0.6031652095352359 -0.07685445658566159 -0.900617011811338 -0.44848908808256005 -0.33739839070148603 --0.43373418241409045 --0.28824881057010254 -0.24636017229722806 -0.028281222437702258 -0.8271213216388309 -0.08625753501811029 --0.8044087720845012 --1.0964892477402142 --1.5175759799065291 --0.7158103421294988 --1.1809120009272198 --1.8697136144465092 --1.2663020776014386 --0.5636380892359822 -0.3327680513331528 --0.41576912570028113 --1.1820708250485343 --0.20680115600570748 --0.15085961689853566 --0.04562724866543455 --0.5456951091012263 -0.29069031721082905 --0.7088249299282916 -0.20941765105878551 -0.8166124681648788 -1.2665236774937805 -1.984864907574229 -1.9359593645852442 -1.563897838422728 -0.8885455237933217 -0.5025086682056855 -0.8727464278307618 -0.7719103986436286 -0.10737608125966669 -0.7828802340092145 -0.9740372701425102 -0.9740372701425102 -1.919256498168199 -1.3874117653581748 -0.6028613473295144 -0.04334451233434433 -0.4482444873833029 -1.4062709313774793 -1.4062709313774793 -1.2402762710984225 -2.170045228057033 -2.0091049836481316 -2.0935899453124907 -2.265829128447078 -1.988463079030676 -1.5223767297821769 -1.1390982550062927 -1.0869206718263258 -1.369108684527611 -1.369108684527611 -1.5205855823167123 -1.9154723797798463 -1.4792322816465364 -1.6285581276725147 -2.279947223382705 -1.8725405542685936 -1.0969332946115515 -0.40540799278536355 -1.2743135879172156 -0.9982145170410707 -1.0130538739601582 -1.0130538739601582 -0.11378695849808262 -0.6950314424134278 -1.4396576186631898 -1.2635533133198824 -0.27646995155448906 --0.51138245025768 --0.373129727867594 --0.7710296250025769 --1.1107623572772454 --1.4347126774734025 --1.9569994242916389 --2.5379606365921044 --2.4042813006590595 --2.4064338984034976 --2.6436030917277993 --2.2944707655290406 --2.848372560906892 --2.848372560906892 --2.9882331282895027 --2.9882331282895027 --3.7866954706803924 --3.178177217719767 --2.418030201567737 --2.686247754541332 --2.686247754541332 --2.8191365767396577 --2.8191365767396577 --2.838859880755467 --2.838859880755467 --2.7504807076383266 --1.8678295372073273 --1.1378969515421316 --0.7635042388549556 --0.09699570189598461 -0.005173748549628598 -0.5616707761813196 -1.018721511420242 -0.797136211128537 -0.5462987188082424 --0.35277258710466586 -0.14122367783599787 -0.2622460164859579 -0.9003425722490148 -0.9813021638620503 -0.14347846163945266 --0.7743373832578917 --0.5042982514068657 --1.1379826478465418 --1.6647038707197812 --1.9021945704624006 --1.439014302547803 --0.7867537043874073 --0.7692309876641434 --0.14666192554072155 --0.028088181657964117 --0.7175857840241542 --0.7131419773349976 --1.1516908165759787 --0.21230972146289906 -0.12074852206606268 --0.2629836195707559 --0.5034771387081352 -0.11831643357313393 --0.5224538567791082 --0.8248723565870514 --0.016510110692584345 -0.6859225218612358 -1.4395751039455305 -0.46251748379755764 -0.6592484819732034 -1.0409767418018023 -1.272927798536146 -1.272927798536146 -0.9341580209996593 -0.117794643582816 -0.4006759928226743 -0.7440580797959556 -1.0620388930212314 -0.6809353223469531 --0.3056256522942985 -0.5975760432539455 -0.9218395375410432 -0.37235207725516106 -0.7141758725601074 --0.20450114481561565 --0.26018340960182185 -0.37313413272802953 -0.9944524441506142 -0.9183320941779939 -1.6064505563354299 -1.4308146087152172 -0.8056199470007837 -0.5008730073140314 --0.4051031435146065 --0.7090792834094017 --1.1860313074956155 --0.5704969028754259 -0.0506325064126798 -0.48859125184435226 -0.47565576235625795 -1.0849653946059208 -1.618515246757826 -1.6624750260801224 -1.9760168392237076 -1.697180750312897 -2.163086767257721 -1.3792958190160007 -1.1561885130556324 -0.45582553179148366 -0.8618210166281937 -0.5736516904434631 -1.1338987250286152 -0.9117830839975442 -1.3066013673441952 -1.6772085087761521 -2.347590757887644 -2.347590757887644 -2.825680935592428 -2.7975535193976193 -3.397479222682838 -3.9234618092673577 -3.771927897906762 -3.8258165748748003 -4.133508575751302 -4.133508575751302 -3.6538892823137177 -2.949494312261363 -3.4605781343607775 -3.6352252823682196 -3.6639342138744335 -3.758984639652631 -3.136970625134082 -3.035960327730508 -2.5165098907770984 -3.431060090238728 -3.5954684893185602 -4.396963407770066 -4.764471282022281 -4.530050750708073 -4.907973339410547 -5.3459617239027555 -5.118669574450471 -5.977772653157736 -5.977772653157736 -6.853571410032506 -7.594679768367188 -8.168263841367672 -7.5795260922386944 -8.132581030502287 -7.9663203984479525 -7.318844042892525 -6.425345467344806 -6.939145842854099 -6.015655880427498 -6.432795503023224 -6.005324739180232 -5.699154048515601 -6.348028953047006 -6.901858072626558 -6.983329192263036 -6.3188821319534165 -6.3188821319534165 -5.536473128833133 -6.16929623420266 -6.99558902449304 -6.53387047918655 -6.316540275150942 -6.199581183442497 -6.199581183442497 -5.530252485110394 -4.675516923553823 -4.4951621758210365 -3.5274780091819 -3.5829498636227948 -3.683353453274709 -3.0218326221942347 -3.934988376077419 -3.3904050699776853 -2.4399200513558337 -1.5589008231512618 -0.7831406552108193 -0.7265351795606455 --0.12639904841286864 -0.40977949691194093 -1.149435059063133 -1.3736432916082706 -0.48199325748264754 -1.4342382089082788 -1.0306353049849033 -1.4175690877073315 -0.6282689110547897 -0.05278763968042921 --0.7369691900214825 --0.34668394958838933 --0.7751391843014016 -0.014675512491339249 --0.15155302792087166 -0.6361216431340446 --0.33027466193766064 -0.3949026655544232 -0.6990342694053107 -1.0187174751052566 -0.787992290506461 -0.6469380333538675 -0.5404258699024135 -0.9017626366475165 -0.19584880166403507 -0.02858916478241258 --0.3675418938603051 --1.130127547458991 --0.7680885732922997 --0.7680885732922997 --0.7680885732922997 --0.8834020755256827 --1.2474741972574828 --0.6469388303829315 --0.6469388303829315 -0.2268959700732227 -0.8044139079555945 -0.8028224539010759 -0.5674207504348652 -1.2989772351888644 -2.0412294102990765 -2.040512894046921 -2.8448761419414303 -3.623579996251367 -4.039080299285813 -4.40388164494913 -5.311568377472496 -4.748615955805129 -4.875643107707731 -5.3945193853631 -5.547100622313578 -5.364643008396937 -5.364643008396937 -6.225880411985442 -5.7142840333078775 -5.8077329063937295 -5.8077329063937295 -5.080910815646478 -4.378334066053225 -5.34648287929522 -5.173546118154141 -5.173546118154141 -4.999337116470819 -4.710335077887273 -4.710335077887273 -4.272740498345335 -4.92417293725301 -5.443947734490417 -5.443947734490417 -5.325122058349174 -4.788308491624361 -4.788308491624361 -5.1169203426356855 -5.566070915713884 -4.908060183859086 -4.662422539285527 -5.599645521372023 -5.599645521372023 -5.715924940748855 -6.635898081233754 -6.635898081233754 -6.293481212555307 -6.027126609726605 -5.987329450279999 -5.129795957562181 -5.343443908257097 -4.768389173857341 -5.429476963655351 -5.591554266485122 -5.72864369489249 -5.394332563189283 -5.467340597913243 -4.586551031348013 -3.759211303423312 -3.382333647560059 -3.382333647560059 -2.874620709046097 -2.2151041593834537 -3.0949199635657028 -3.0949199635657028 -3.2638514679459014 -3.3396397772678696 -3.9517939029712417 -3.374793001023658 -2.4774220741524218 -1.5050314993418938 -2.4982018678596747 -1.626944017341319 -2.2740124326482776 -1.7628188525560986 -1.5938119337788414 -1.0179833541605103 -1.3515986431474345 -1.3634034507963515 -1.4947755110998822 -2.410744106513265 -2.726727913043178 -3.2601528178262926 -3.420812731323007 -3.4170646674734524 -3.4170646674734524 -2.829081614501543 -2.163612516526464 -1.3843944298406174 -0.4796284153557082 -0.37126318172652895 --0.5306951329766908 --1.093469061287728 --1.6763378351918259 --1.2557155606159247 --1.2910850478650069 --1.9052078473770329 --2.843702551706432 --2.0046274736094407 --1.6282608499750102 --2.2278486761092093 --2.960310592879172 --3.0992597855612236 --3.4767571007489266 --2.7001611558845724 --2.7001611558845724 --3.033191896971456 --3.3177287706453633 --3.4071113577807073 --3.2907403516203955 --3.6264324425060797 --3.8995669522609457 --3.8995669522609457 --3.5601189202703196 --3.4008339564770917 --3.2483670217856995 --3.4109352678548834 --2.5697741851958 --3.1200294331874705 --3.160304004024058 --2.3217219331478027 --2.0167990776892117 --2.0167990776892117 --1.5458318614473405 --1.6229407855813354 --1.1707228109659205 --1.34083819381586 --0.504993432216152 --0.6393799206177538 -0.28344896617306914 -0.6305183060385927 -1.1005654572021837 -0.7069678158841665 -0.7069678158841665 -0.3096105272901124 -0.4108788597555588 -0.4108788597555588 -1.3081556622397374 -1.1567833648331693 -1.1567833648331693 -2.028805195430592 -1.298004099461225 -1.8016022392676037 -1.538913846366731 -0.8307403326802656 -1.3246339084064649 -0.6488347885923371 -0.6004046264082804 -0.45213348408513254 -1.3924540516377777 -1.0925601765111201 -1.1810161758323046 -0.2828378307134398 --0.3824614575308223 --0.15116315564155802 --0.24561998114143868 --0.9268052687835492 --0.39963869369339766 --1.122779927376882 --1.7102351079836884 --1.5363836667507758 --1.6732038669674165 --2.2032324256871156 --2.2032324256871156 --2.7118453858520546 --2.351569831268509 --1.9327005280110787 --1.9327005280110787 --2.2632345074969122 --2.3987130578817384 --2.2931082973512273 --2.2931082973512273 --1.8352835443868831 --1.8952147955152965 --1.646881152220856 --0.8601747701078333 -0.11197613875416601 --0.5673859727403667 --0.6771029907072482 --1.6588134390378935 --1.0381530318607004 --0.11245433720799602 --0.19807067974388126 --1.069381353456111 --0.829931747602467 --0.8851535816529404 --0.8599535572868519 --0.38966210982982863 -0.32896288486088754 --0.12219406316228554 -0.29177939721276935 -0.470904093728975 --0.0432832948852373 --0.7182732306815396 --0.9998109145965904 --1.0789705769774323 --1.763148597359828 --1.763148597359828 --2.023980368968664 --2.023980368968664 --2.221307950214147 --3.1008205440859493 --3.8990242776825226 --3.8990242776825226 --3.2265184731299135 --3.8685336588241084 --4.249066859491857 --4.6042106108917205 --3.8848736341788106 --4.88039057134843 --4.492927154640612 --4.492927154640612 --5.004017061140399 --4.654435662436592 --5.066534174851472 --4.272813108499799 --3.993321282076475 --3.5057357054410163 --3.5057357054410163 --3.970055774207268 --4.473146004038512 --3.877735568800434 --4.780420164252365 --5.679141286498933 --4.975310107929108 --5.404260779408391 --6.160727331513892 --6.63666741323904 --6.261772738674739 --6.383436668375716 --6.383436668375716 --5.9063859785592125 --5.711013537501762 --5.219647382957087 --5.51872955590016 --5.865618773653511 --5.865618773653511 --6.25991532483844 --6.586333274142061 --6.094618770649456 --5.769137923157555 --6.101467292262401 --5.612933307867727 --5.130888281193169 --4.446234718237159 --5.002456387653892 --5.152934774438994 --5.774547484937343 --5.103912382407768 --4.136309664864363 --4.136309664864363 --3.4945150694574307 --3.588039545217225 --2.758300437302773 --1.7790661712836353 --1.898983759682332 --1.120161639319116 --0.8323563581547901 --0.7484137658321499 --0.9929042658661181 --1.9040290589013318 --1.0445499107444398 --1.0295739314914079 --0.3507306015200664 -0.4983078463992101 -0.2628389826786376 -0.5784792224519114 -1.3329393469221151 -0.8365320902483225 -1.7961303136753863 -2.3437174456448027 -2.787226405851726 -3.2486174316905188 -3.064943640835125 -3.4856757291345737 -3.0190283935566558 -3.744651399780733 -2.9936827606545684 -2.153690318728144 -2.906429739071001 -2.242384215175753 -1.7172625149686855 -1.1162668906287463 -0.4851545836133764 --0.4672079361368915 --0.6202534295741694 -0.33846710510363176 --0.6106667355357848 --0.2589420890088866 -0.24877768870270411 --0.627045204140794 --0.8874914810965353 --1.675594450427977 --1.369879470790035 --0.9177046311830925 --1.170534045189347 --2.154714047378766 --2.9607079517181103 --3.230729660029886 --2.63687764556766 --2.2460647192562124 --2.897880263217459 --3.6004271988625103 --2.9333887760062702 --2.9333887760062702 --3.7186188043674284 --4.230497602532162 --4.45877768688692 --5.141973615368395 --5.141973615368395 --4.5442734600905155 --4.345671872758796 --4.640747246963256 --3.993622060983732 --3.9659441097225843 --4.098284118015524 --4.3969865453193515 --4.789339004647798 --5.2219438345675595 --4.4244616474407135 --4.730752913851035 --4.275615218949346 --3.698570757180801 --3.5535333044053643 --3.8366038746343043 --3.782119365620982 --3.7996968668917654 --3.424776564630065 --3.2190692089443496 --4.082837929036586 --3.8566189857865814 --4.141658831917244 --4.764092644807143 --4.446329073641319 --3.9749336005890843 --4.058572326791314 --4.818850542959757 --4.205279548968569 --5.002390908033463 --4.56544257669341 --4.227374190100288 --4.062372779083139 --3.8264010142204334 --3.8295862823322238 --3.966465905441933 --3.3363861335068035 --3.5513612772837573 --3.657706620948086 --4.649577625491352 --3.8145066474744818 --3.3549016655658397 --4.044265644769503 --5.003254062792889 --5.643248347911542 --5.992833932962422 --6.728582546311888 --6.117672361663542 --6.117672361663542 --5.9900965694273935 --5.690387731914559 --5.690387731914559 --5.383105740819015 --6.1401111818518945 --5.450365154565184 --6.174723832407767 --6.174723832407767 --5.522809045172537 --6.33196451312057 --6.197468997830436 --5.529088373468968 --6.016671259798581 --5.556621112472537 --5.71171775828866 --5.070035573630157 --5.480907473904588 --5.444240556373749 --5.444240556373749 --5.5657677152316065 --5.5657677152316065 --6.497945863483284 --6.2524388364165135 --6.691809962886551 --7.071114377511049 --7.156164296366739 --7.156164296366739 --7.663484212459467 --7.243865834008931 --7.243865834008931 --6.3863865382568274 --5.609867033623261 --5.824674953494173 --5.720372922927278 --5.720372922927278 --5.012698944474524 --5.797527119875582 --5.363672556180971 --4.42176200242913 --5.152054690106482 --4.175246232404219 --3.578089419636429 --3.074472739407295 --2.8577383987575953 --2.8577383987575953 --3.7817344348579462 --3.2311047649236793 --4.054504502838028 --3.3841426072812664 --2.9675113807795244 --2.178178977764528 --1.7955556574141291 --1.7234261036464702 --2.3511365405844087 --2.783415499067605 --3.353663563603199 --4.089139597685948 --4.9508723829499734 --5.545072136967406 --5.800475410749941 --6.271550380642196 --5.889759495690042 --5.084540686132832 --4.888896379374145 --4.9191235558327895 --4.807076491552842 --4.420549658733168 --4.714679732484287 --4.905176716969272 --3.939766565708262 --4.751427021323458 --4.586877501181045 --5.2974744547691595 --5.906323002540242 --6.635143214374251 --6.31331155726415 --5.975562034247259 --5.292734739066213 --5.207701029166498 --4.680982927578853 --4.348412889705479 --4.035320028121892 --3.847374050247935 --4.269474982133108 --4.3755374919758 --3.7711516043139723 --2.772926365440629 --2.210190262350126 --2.114533070610297 --2.004784140446538 --2.4608147167378895 --3.0862817742871274 --2.134787063393495 --2.0860536649308257 --1.9005365293299443 --1.0172905821439036 --1.1100047477903012 --0.2490633340542845 --0.2490633340542845 --0.7479628180903423 --1.1216834095717982 --0.25945955043148405 -0.1536544335023564 -1.0257817617047595 -0.5273022220415892 -0.8447054510658495 -1.2455614345973594 -1.7161432651231152 -0.7217923567486679 -0.40024493263441496 -1.200872037567117 -1.2536346030286376 -1.633690364925613 -1.8737949486142227 -2.117102006318796 -1.7538775763598689 -2.706832126800422 -3.6961927893594737 -3.6961927893594737 -3.155571104693688 -2.2682780711985986 -1.2812107631629521 -0.8069811292706762 -0.45984586152201334 --0.018083350948287058 -0.13603213866172748 -0.40347828080593884 -0.13774595055044014 --0.40812969820248624 -0.415449568500194 -0.937329950609952 -1.8023155080524553 -2.157865659456566 -2.537699360536676 -3.1403861747258177 -2.5331381431400826 -2.5331381431400826 -2.0699938549952854 -1.431390338469508 -1.80153119699636 -1.9847440016294289 -2.7711370363340677 -2.797767236345556 -2.523022126314702 -3.0847521085589618 -4.047720762756317 -3.2730195368251396 -3.107636087296203 -3.107636087296203 -2.561606152059814 -3.2204665002622477 -4.010550421017697 -3.3848175364833297 -3.0662548789757804 -2.5530072034782263 -2.0569279143285915 -1.1826889574551038 -1.6619158873557844 -0.7430816821346473 -0.7430816821346473 --0.18048981977770406 --0.4453392919520659 --0.4004876014426261 --0.4915233426212904 --0.3828298894556874 --0.33013512406707646 --0.34912510086803283 -0.03249576476063065 -0.6526699226486884 -0.08193859915095325 --0.40601917865696247 --0.5572506114988814 --1.1194387308331888 --1.0880466382821885 --0.41150636943120267 --0.26284897327281764 --0.7805510828424049 --0.10722163073580271 --0.8700594674262114 --0.33531187863240297 --1.262577097481907 --1.5994033456130547 --0.865565668044241 --1.703774502082581 --1.7481717945118542 --0.9591651613309939 --0.8959593263889276 -0.009585254757197514 --0.2214881886836234 --0.16907959485993718 -0.7211710247790558 -0.830541864024447 -0.41142868411948763 --0.4799505075394259 --1.4698796228726572 --1.4698796228726572 --1.3508315413909178 --1.286298879401588 --2.009843044716006 --2.6348997771896645 --1.7950905606280705 --1.3412515743960174 --1.1626733113725622 --1.1930000088408828 --2.154503722776761 --2.303255727103766 --3.208662677632213 --2.871019155372262 --3.573098512966973 --4.180143683250529 --4.8079355953747385 --4.908498177046518 --4.908498177046518 --5.019523359374069 --5.874629625854656 --6.127463339838276 --6.814235112682979 --7.8010408200534105 --7.8010408200534105 --7.0280221056346015 --7.598106159570704 --8.452562494549223 --8.452562494549223 --8.452562494549223 --8.452562494549223 --8.8724287726764 --8.525682341144465 --8.525682341144465 --8.525682341144465 --8.607188088000473 --7.730293169780979 --8.00387567185781 --7.043405613862961 --7.043405613862961 --7.121224837037028 --7.121224837037028 --7.121224837037028 --7.652483631155102 --7.652483631155102 --7.654681619198527 --8.008524496900323 --8.49811304313098 --9.381718536323083 --8.546994590782191 --7.649309282332201 --7.93618741406325 --7.667412759387471 --7.137132273996499 --6.456495612833578 --5.767939313478733 --4.869034957607713 --5.585936502944054 --5.263528765000155 --4.765573011678143 --4.1238127586590005 --3.665592852110672 --3.665592852110672 --3.748434935235529 --3.748434935235529 --4.322530850831323 --3.587835743388422 --4.329846417011925 --3.909813941035888 --4.39387626037956 --3.985512451343139 --3.2883339754157004 --2.3442927399832962 --2.2374222423762307 --1.9356590250731125 --1.4600846896572863 --1.3760127463351888 --2.067911184019611 --1.366851098816777 --0.36731066186896566 --1.241678436771274 --1.3821352052414348 --2.2284696114602447 --1.4511825663237767 --2.166427397912254 --3.0868836499926635 --2.835000323575157 --3.326559819167798 --3.2262741345812356 --2.510523987657578 --2.1469834317813845 --2.5552658533523536 --2.885828003189244 --3.091890827971617 --2.171548040933232 --2.1396790484116543 --1.369580376868303 --1.2529087869306772 --1.912606301328187 --2.7217168525400988 --2.7217168525400988 --3.6672852504269398 --3.6672852504269398 --3.570108924368352 --2.6859346043044394 --2.4396199876351807 --2.0163855114084144 --1.0343245737058135 --1.4145543811924801 --1.4145543811924801 --1.8071960565179586 --1.5196824697417433 --2.199556910051311 --2.158322582252982 --2.1394797877263647 --1.3617652584238242 --0.40515285395077694 --1.1308798206391741 --2.067069912152011 --1.8249016096384911 --1.8249016096384911 --2.0044453160830837 --1.2944681747067468 --1.075916585160704 --0.4061847631910531 --0.4061847631910531 -0.20048535661518652 -0.7710493873971946 -1.5847531584820236 -0.74905836596405 -1.0613619460131953 -0.8584681314052279 -1.5392323501428549 -1.3293933357150243 -1.1740599552295206 -2.1533432597906055 -1.8336338869787463 -2.3449566677962252 -2.68229299025049 -3.224476215136647 -2.7412341076074083 -2.7412341076074083 -2.359535287456239 -1.9143784059290136 -2.6985258256661573 -2.8300441102396507 -2.3949856236256037 -2.681133978278856 -2.6219086077648805 -2.6219086077648805 -1.8573953409924415 -2.5804575479411787 -1.8033143449234432 -1.4611404903028444 -1.4387502247740005 -2.25014360710259 -2.605051835156535 -2.408899659919592 -1.5933692500586427 -2.096927299325136 -2.096927299325136 -3.0096664536624465 -3.813613528657882 -2.865135470824943 -3.0018686786562654 -2.0298299449116417 -2.2850751932793574 -2.8445596902646804 -2.5709208812369844 -1.616733976639438 -1.616733976639438 -1.4560825408166904 -1.8111762103007243 -2.02349217044463 -1.696673287228716 -2.1898950322447934 -2.6893975962489005 -3.4115489008000166 -2.677863314562622 -3.0310412769761292 -3.3940216195862947 -2.4169608858357536 -2.91021637909439 -2.91021637909439 -3.0265562137140325 -3.980589603695925 -4.709023313085945 -4.889587723800679 -5.225428828526837 -4.507214676857332 -4.507214676857332 -5.008477901136245 -4.41089697788107 -5.334906650292687 -4.520075101481897 -4.789511739342322 -5.029543506934449 -5.029543506934449 -5.713477257765962 -5.713477257765962 -5.976891233436901 -6.810772731407794 -6.790187975168934 -6.041905615625076 -5.981594823854993 -5.144360258151027 -5.144360258151027 -5.505464208639034 -6.137217567293029 -6.225002234635408 -6.045645233688446 -5.116106093328901 -4.700226014712135 -4.700226014712135 -4.025702967965241 -4.219228517926599 -4.219228517926599 -4.756192413484593 -4.907783577207876 -5.675636036710448 -5.45940696680987 -5.45940696680987 -5.294199672405877 -5.437640552909271 -5.009493944682277 -4.1930320696060015 -3.2037050090246666 -3.5750568515656482 -2.9908941306506316 -2.9908941306506316 -2.6845853482379365 -2.220957985984094 -2.464352350966816 -3.319599976671855 -2.438539869529222 -2.6850306464443667 -3.425578840738345 -4.222686644078541 -3.25669876564419 -2.419804393749212 -3.2385344606835953 -4.0543837468606885 -4.175568326168622 -4.750015257167665 -5.040841369817603 -4.784013645588412 -4.6437228695472825 -4.300264139730103 -4.919527064653355 -4.740280350358419 -4.577276814734743 -5.511493880433514 -6.270369859827756 -5.398876505494038 -6.32316272574369 -6.32316272574369 -6.8541486418742545 -6.477824810594866 -6.477824810594866 -6.119628771318332 -6.577741432117425 -6.782505010804553 -6.238611372204943 -6.238611372204943 -6.744330749918577 -6.744330749918577 -6.744330749918577 -7.089662692531849 -6.98117534126228 -5.997127788434646 -5.146997859757652 -4.620158748391532 -4.837585157854127 -4.1208620563759615 -3.467906314050152 -2.6326262029944743 -2.6967683024539255 -2.0084975890415513 -1.7597521520370658 -0.8887851168566387 -1.2549706629596975 -0.2774696093511 --0.5444301843458585 --0.5444301843458585 --1.0395630868100625 --1.7213174821008912 --2.584802466791726 --2.4863940430178015 --2.40615107715446 --2.2717714190446916 --1.3504810154902327 --0.5781021900590082 --0.38178893619412624 --1.1561046767517478 --0.8036954015723277 -0.1454203096788842 -0.680322190374224 -1.0459064952007588 -1.5028791997659123 -1.8080210049199044 -2.1884155668794874 -1.8449532117640013 -1.9825990675182963 -1.3450435972499761 -1.831668012586838 -1.3572789659705502 -1.9670412699606887 -1.7550347892966176 -2.5686767475169416 -3.4557334180968455 -3.4557334180968455 -2.8601730329514075 -2.523502363480077 -1.6116448723810615 -2.5365133520752075 -3.3598714865241126 -2.4182413720655545 -1.6164944561714796 -1.7946864975770491 -0.9985722086698177 -1.8717626835813217 -2.448405110196611 -1.8003289379672351 -2.4942615995906268 -2.490758222159938 -2.769328821896895 -3.334623949393475 -2.383116030844594 -2.2176598279704645 -3.0325259800668194 -3.6830522582501577 -3.954029434691695 -4.140243898984829 -3.522709935247323 -3.358525835358742 -3.7497039559790983 -4.131083684741878 -5.0898806691076 -5.071425013927025 -4.158308750689406 -4.644264324934161 -4.967309580742731 -4.575973972761197 -4.356795924466641 -4.502957532022361 -4.705585563815633 -5.028103828960233 -4.52701664454945 -5.303079895971916 -4.685801808343845 -4.75506732925167 -4.535352368431974 -3.9642693968109084 -3.6720992871654103 -3.613935921953371 -4.1821591414592 -3.6763655975798355 -3.884961296630463 -3.750460238564939 -3.8173321891265046 -3.066032952102873 -3.587476574847839 -3.2524470906254463 -3.28314671402984 -2.4288851705777015 -2.723519582027471 -3.1238620112553477 -3.5130150701812886 -3.6885060320190686 -3.682597115829327 -3.728704238672103 -3.860286230000681 -4.428852719737289 -3.858381299696463 -3.8077544298638433 -4.337349021259438 -3.914570562396258 -3.6740611918272363 -3.441382692434602 -2.4578855326318454 -2.0243561585202228 -1.161241178440793 -1.1042027980946791 -1.036332107134743 -0.5790643576069611 --0.0068625875375921686 --0.9933571597021241 --0.652584290469339 --0.805057836266124 --1.418752058021491 --1.9104388485506307 --2.127480997578426 --1.9625795761133087 --2.9074717043028597 --3.6426391151920816 --3.784371157540364 --3.4236471942573523 --3.550185501305518 --3.0685935265476068 --3.0794747130198212 --3.084352706405976 --3.0547509845026886 --3.5268586836786957 --2.8405346486921763 --2.641559852092692 --3.1774193991009865 --3.41584105522972 --2.532178888299381 --1.8425174116499388 --2.203877850050811 --2.575340120320274 --2.8808730766230854 --1.8850772911976676 --1.4494380490148202 --1.456831272929802 --2.2769297459613247 --2.123188567767645 --2.123188567767645 --2.8286434378173144 --2.386560226474124 --2.169274016269969 --2.101296190375427 --1.5906861732458466 --2.3291155056932915 --1.8434263292169901 --1.1841387166196187 --1.7592564946430507 --0.8319688513462808 --1.4782413698656873 --0.9828052675904961 --1.9754855086983252 --1.3886693256151204 --1.8456537123563677 --1.6377280622292179 --0.9905707306154317 --1.2756014151067507 --2.232258415550026 --1.438352752975042 --1.438352752975042 --1.6424569222748406 --1.7200947555026613 --2.1392636997272136 --2.163860543975104 --2.1608661297508234 --2.6175995087829844 --2.6175995087829844 --2.006471303197059 --1.998641508821462 --1.7464412588001796 --2.186076679547498 --2.186076679547498 --1.9111692323225844 --1.0691943823638685 --0.26300647449909254 --0.25793681122405143 -0.060292215894347745 --0.37673606077702104 --0.4092051611578724 -0.29364286191822675 --0.029529618176198258 --0.5207751209173208 --1.0789537007113332 --1.1845611062069734 --0.19204712223991294 -0.4652544428184888 -1.3866797374795445 -0.41951868166149775 -0.5538474103651143 -1.4826970177279541 -0.8065904978761391 -1.175731132772614 -0.911639423625653 -0.01342510390083207 --0.22856272706360992 -0.34648194368753793 --0.0158363626693504 --0.3323166405569631 --0.8209848877749709 --0.6540881181720645 --0.08740181297778282 -0.6416882770359215 -0.6676488850924761 -1.5530709263587177 -0.7944394686469285 -0.7992739966244171 --0.1273066701168919 --0.5499554077045202 --0.45884365795950754 --0.028110236913711062 --0.3268582840848848 --0.37444186124755585 --0.41859436456681864 --1.1383309108223 --1.1680411689753503 --0.728325432551499 --0.782930612961379 --0.04177263273920395 --0.8967488317371571 --0.09937491486346317 -0.8270000740173232 -0.9683802029552137 -0.6889058940572492 -1.5756482585295428 -2.0259723598393524 -2.6628532167223256 -2.2914240230745 -3.020737869867734 -2.9425143685940665 -3.639348098500328 -4.349880260151824 -4.058268594122132 -4.058268594122132 -4.845764605582884 -4.7244376043235174 -5.390872122595102 -5.708474936913202 -6.084557640988374 -6.795259109855066 -6.795259109855066 -6.217192453639337 -5.936929939826666 -5.312190424412502 -5.261127590458008 -4.472271726214514 -4.472271726214514 -3.938855930477991 -4.570973051624745 -3.966529541454081 -3.2176065603258417 -3.350125696088085 -3.995947911781185 -4.9047680048993305 -4.7056069232835975 -4.811050715705422 -4.4429198102339615 -4.28601773384219 -4.28601773384219 -4.236799371999857 -4.302202893463233 -5.264501548258069 -4.833856836688264 -5.440392900635386 -4.657506825461507 -4.657506825461507 -5.277199701400458 -4.874482311607389 -4.874482311607389 -5.5034412201737455 -4.565041358040769 -5.246865936356674 -5.246865936356674 -4.66527589094564 -4.142103720275246 -3.3615953030253394 -2.407742346198532 -3.0220609613509097 -3.2889607282988242 -4.022610069277395 -4.022610069277395 -4.959490940404608 -4.220246704361397 -3.6543018950663377 -4.512106694202336 -4.512106694202336 -5.034650027465517 -5.034650027465517 -5.853608036264284 -6.306385711800936 -5.325786557975533 -6.207082893518279 -6.0372967361607035 -6.071965305821357 -6.9800654895844625 -6.31512855836555 -5.653882183875944 -5.649798245962878 -5.649798245962878 -5.079690460035354 -5.130945950051136 -4.190435912684659 -3.6647951900602456 -4.322375992280754 -4.869734423372265 -5.202413521626576 -4.833576551858918 -4.545154342449194 -5.320992819713549 -5.081984081298453 -5.0861222682115885 -5.0861222682115885 -4.7205452517786135 -5.0099014951011105 -5.2773945393656305 -4.732675654667283 -5.592320538378953 -5.592320538378953 -5.341029482675238 -5.186879134449024 -4.409947167299111 -4.387387579069875 -5.2858452044658835 -4.596863812312461 -4.012040769093099 -4.874946075064701 -4.691896951154619 -4.333447287573198 -4.738102519039954 -3.9882128285679945 -4.630504023998216 -3.9904435960171885 -4.325435768053601 -4.325435768053601 -3.7886525117859158 -3.838892569773306 -3.0488434809086864 -3.0488434809086864 -3.0488434809086864 -3.2395524686423114 -2.2478746719819824 -3.2264837772408916 -4.124037690293149 -4.80479229425659 -4.80479229425659 -4.431779183464032 -3.6992499812781907 -3.983356938589604 -3.76540313403128 -4.3477879220841285 -3.462475729029139 -2.6599128225555724 -1.8582636250957667 -1.0615479187602663 -0.5619144042526697 -1.0935075085918338 -1.3447762136828918 -1.0307466816296378 -0.06438230967701619 -0.6889032152846633 -0.2914507373486762 -0.6814335712182683 -0.5815245766497303 --0.06303938108572926 -0.29246984333480497 -0.959196013741102 -1.1764771660868847 -1.1764771660868847 -0.41182705060102376 -0.9601867576796466 -1.1806481330130192 -0.3873429776529218 -0.46275739595629917 -0.320826664091472 --0.4377785113173299 --0.42173286592346393 -0.3441506189493112 -1.0190732944970198 -0.20997563577902545 -0.20997563577902545 --0.28967766434621656 --0.172404317500907 --0.25820986047025585 -0.21318748982457514 -0.6701658534707535 -0.5177483409321152 -1.3334646821493816 -1.3385337908656054 -0.9017653134236686 -1.8663324246740758 -2.6317475534902535 -2.081654459052654 -1.3105379407363233 -1.069466895730116 -1.229397494141208 -0.7338477742029407 -1.2853517090788231 -1.1251094413932683 -1.2312946792062336 -1.6188505807893454 -1.588946416847239 -1.2291718766828788 -0.45611828534539 --0.18709696597433223 -0.758034685910139 --0.15686039408404318 --0.7797519868413334 --0.10010905408271165 --0.48951716515434207 --0.24262718802996763 -0.1118646003041176 -0.3779319430019944 -0.7449404140651344 -1.378347895753504 -1.9973149695326138 -1.8929472246934385 -1.1862915624839931 -0.877892946403667 -1.1112195109260625 -1.6243864693903771 -2.3027060284191476 -2.474852629112137 -3.203285537220194 -3.36922414984891 -2.8213281843087605 -2.389951239373688 -3.0165769126927477 -2.0919140118302755 -2.6738360950133284 -1.93544090685529 -1.93544090685529 -2.895468052733344 -3.076671898232508 -2.44889068979212 -2.2200557400933936 -2.7058725484348236 -1.7263365539223021 -0.8987333665777386 -0.46691087064354775 -0.840434205995137 -1.6085264940078559 -1.6085264940078559 -1.8036649559546527 -0.8108129435964153 -0.9492249103455979 -1.2330513271548222 -0.2680379622991049 --0.11103918458759077 -0.46888228772807616 -0.42540354280386294 --0.033116734631450595 -0.024693676995893754 --0.4834664364574591 --1.4570188216628224 --2.3761719232859475 --2.764235064238127 --2.0040674725746515 --1.0422416824045706 --1.1833327444080277 --1.3374825441673783 --0.6631562987951554 -0.197001973397682 -0.28882995751210006 -0.3568337816086349 -1.305879475312392 -1.8230328150379809 -2.4526631890876622 -2.3612426236667536 -1.43243989082388 -0.5431970713451622 -0.17252254783476373 --0.656781673957545 -0.06455690370289957 --0.8659490487214646 --0.9505848227159694 --0.9505848227159694 --1.109551233383863 --1.6281779837623023 --1.1488534046827263 --0.39251600010107346 --0.6525267504486526 --0.9599984695189829 --1.0042837403779412 --1.3693683180496343 --1.412208700338513 --2.2992184037180294 --2.4036662770448896 --2.6787349715731468 --3.3635790645912866 --2.44470714674682 --2.069422733687603 --1.7420178504088129 --1.6128620778143867 --1.6029516261535748 --2.1147178060059675 --1.8964920675011223 --0.9733639541118069 --0.9967697095476674 --0.05873613360115748 --0.3267062077557521 --0.8772374104544953 --0.5620733256460622 --0.3701517211977019 --1.2038544634025155 --0.9766263174124357 --0.3877043871638528 -0.10821833593768493 -0.31542003907808236 -0.3068549906354018 --0.2503296284928139 -0.23849953945894187 -0.3418278941228404 -1.225339023077808 -0.6445760510579865 -0.5456193383315638 -1.0355201900099877 -0.7050295124392038 -1.1367969165211722 -1.4010086103532837 -0.42876259828054386 -0.44735087399992546 -1.2465253926905775 -1.7226378704302259 -1.5384327371384092 -1.24569076332551 -1.8105880381157555 -1.058907967842701 -0.28130079814588127 --0.6682754714264565 -0.13523937636262473 --0.4787362022201962 -0.27733940605110585 -0.3734153645121614 --0.09024348097218515 --0.1557504606033533 -0.20043118872717436 -0.22691463805700995 --0.3076500820007768 --1.2199653184042956 --2.0545595581975418 --2.0787518183043274 --1.5177324297526895 --1.1336699899312395 --0.6223475805897238 --0.7429309915747296 --0.15548791102639858 -0.406315987687932 -0.9393471496460631 -0.7771181294262013 -0.7771181294262013 -0.581266312764149 -0.581266312764149 --0.3238577245774309 -0.04289137061028703 --0.3850122777776177 --0.3850122777776177 -0.39652587139764695 -0.005300131378973005 --0.3975883212609004 --0.7187405810625928 --1.4009758208557672 --1.0028425316275822 --0.1744826935317867 --0.97061681088331 --1.1128290997467842 --0.6171581667145523 -0.13341948511296042 -0.9310942127267539 -0.9310942127267539 --0.012945097577418796 -0.8153080822534835 -1.2986039456391967 -1.4771596130132163 -0.6471197576707277 -0.2147139303438118 -0.5700839228414035 -1.0316315600245987 -1.3638584489101946 -1.4435666104002154 -2.3684003268908835 -2.16661415094457 -2.639351436742457 -2.040789734980871 -1.7727299973370938 -2.563172547860035 -1.6181040793610666 -1.6090351129116582 -0.7522875020844946 -0.3987894010000955 -0.3101543757838694 -0.6384212479806033 -0.47633472043530667 -0.9600790583988669 -0.29880668114978903 --0.5825206687094139 --0.6960577630426925 --0.8727692582425531 --1.220411646817393 --1.5888822440507915 --1.7597154649048492 --1.9707728715998991 --1.524452012096978 --1.4942449727421805 --1.9706439550525978 --1.5191943441808744 --0.6780497870624644 --1.4954149815211912 --2.0375879739051808 --1.339997529701094 --1.339997529701094 --0.9014923083627167 -0.07487744814375064 --0.8280718492763184 --1.3481903236095245 --1.4797315900442816 --2.0744424912349784 --2.401755919210043 --2.8174382645322242 --2.1291457714618716 --2.1291457714618716 --1.5785624468112047 --2.2905585432224322 --1.5652470289566829 --1.7834079540336014 --1.5052629518105007 --0.6373229432511185 --0.8083601083689204 --1.459691582837089 --1.2800554815237597 --0.7972224876548903 --0.8661406924849943 --0.27058027589489 --0.6088963733302362 --0.3521473538767539 --1.1778184019148066 --0.8142969626941372 --1.5289322652457966 --1.6414492971737236 --2.431320609966237 --2.5556576634679606 --3.0270211239333276 --3.9752336135933857 --3.8364950586527815 --3.1552898377090415 --3.016008922498877 --3.3294317504290607 --2.8575152226058123 --3.126610550728312 --3.126610550728312 --2.552396957025645 --1.7466443752651777 --1.7539734283774857 --0.9180275165526355 --0.39940984476528696 --1.107880783699306 --1.9645777228065264 --1.5752665027331365 --2.31292073620063 --2.8596417492849246 --2.9687168529213923 --2.9687168529213923 --2.476952147234526 --2.891641813394455 --3.237046193102461 --3.0567202889786174 --2.8395475796048713 --2.344175354172655 --2.9528928749766985 --3.8523646420859183 --4.6119787498119384 --4.756232686864598 --4.756232686864598 --3.9486450974655627 --3.7239033448869314 --3.7239033448869314 --4.1155622198229285 --4.652561568149395 --4.327073636113707 --4.327073636113707 --3.7280441646069713 --3.6444489686739447 --4.218036677150036 --4.218036677150036 --3.6729043464908298 --2.91502595905816 --3.90495338931071 --4.392135685697974 --3.7874736035518612 --4.2821865927475455 --3.817789277463252 --2.9149501267811027 --2.9149501267811027 --3.4029073231659055 --3.4029073231659055 --3.4029073231659055 --3.4029073231659055 --3.4029073231659055 --3.396520650662781 --3.3558279009824554 --3.560195973172349 --4.321541052560396 --5.0448660174340025 --4.664136112592458 --5.310296310619464 --5.087209944048991 --5.350357504230425 --5.496266161009283 --5.430192221837442 --5.430192221837442 --5.1176276371235945 --5.400103457396429 --4.912443141048399 --4.852526186891416 --5.754610413138712 --6.295983258174562 --7.126134901182019 --6.60157095026846 --6.81897434975065 --5.8756336022137425 --6.141203162766388 --6.637468423075714 --7.3666346089050085 --7.407588820705073 --8.313842690071787 --8.346614664723116 --7.544423145082842 --8.306899250583474 --7.662525814735856 --8.197665797781687 --8.136396948169232 --8.136396948169232 --7.441379871555643 --6.669456044837281 --6.272906188745202 --5.899959035191113 --5.603466896120665 --4.917631799703759 --4.8426821562349875 --5.226030077813463 --4.435495959767936 --3.9607786792371567 --3.635693943062228 --3.400335061973175 --3.660196286977871 --4.162451997271779 --4.176439366658737 --5.090535848025307 --5.090535848025307 --5.859637534329446 --6.128439437255474 --5.258269585524451 --5.2973530476718915 --5.2973530476718915 --5.9337444693057 --5.9337444693057 --6.149323724686517 --5.517334641585661 --5.9252983721123895 --5.834592094079445 --5.717951472760768 --4.949011622881774 --4.699534063756865 --5.528680708657783 --5.474148684603956 --5.474148684603956 --6.002204384861969 --6.002204384861969 --6.936957430810314 --6.923824775982998 --7.724830926941955 --8.653486745358528 --7.667107742657802 --7.667107742657802 --6.6713579422313565 --6.729809397673462 --7.319950115906639 --8.022095883286235 --7.634776078479158 --7.2516008266412095 --7.575054690824416 --7.468630159619792 --7.218011511086914 --6.474858172663778 --6.474858172663778 --6.660356019640183 --6.685655786185161 --6.685655786185161 --6.393694924313586 --5.626875875967096 --4.677408781343301 --5.015174437135948 --5.453336441441884 --5.507987284878148 --5.400870719056013 --5.400870719056013 --5.293696519735375 --5.779070021316432 --5.779070021316432 --6.517263902239934 --7.381211364357732 --7.381211364357732 --7.0331354915004125 --6.879307882590906 --6.086378197179109 --6.4317753705260365 --6.4317753705260365 --7.02535085122657 --6.102671453741573 --5.641245411154358 --5.783757057427659 --5.783757057427659 --6.461022649077094 --6.312954030797105 --5.789336703347748 --4.887989384985289 --5.502794181196016 --5.4551156009928174 --4.48300366508013 --4.48300366508013 --4.333287431662295 --3.881732250744278 --4.384638767207654 --4.10065816963448 --4.985404116103293 --4.985404116103293 --4.985404116103293 --4.902448541849483 --4.569126698086589 --4.953508022300759 --4.999695650028122 --4.999695650028122 --4.223804876616795 --5.147981547777473 --5.1358568514328296 --5.1358568514328296 --5.1358568514328296 --6.123153203393821 --6.2064285184941275 --5.458970242713744 --6.242726710806453 --5.859410637460435 --5.4988463479301 --5.4988463479301 --5.242256693496141 --5.853739567106572 --6.5947978392534905 --6.5947978392534905 --6.0153268825395285 --5.65775433160184 --5.605954994211202 --5.605954994211202 --4.752140896493258 --4.752140896493258 --5.009037301573254 --4.125205609461251 --3.6156671236683895 --4.603300804976849 --3.8927027544045805 --3.9787917087325324 --3.2902875290313167 --2.872278988089611 --2.985100939366936 --3.7274594674789103 --3.5312466904337745 --3.0218913850444844 --2.186893681764418 --2.1082859054639753 --2.3862267094218272 --2.127481398448594 --1.5283469182686966 --2.2046479744868357 --2.1085481394204577 --2.1085481394204577 --2.572580725754144 --1.9663896865225825 --1.7155342991688154 --1.0740819660072383 --0.7709956836972369 --0.8638827424420134 --0.7644711377511907 --0.3192805173356855 --0.6366100358390527 --0.4108123671744861 --1.3358713481670943 --1.0213050759539957 --0.6692538942317228 --0.6332969714674819 --1.3254664488838208 --0.7331219304430756 --1.5042284507826398 --2.3450955276147827 --1.7744869625935664 --2.717185720222562 --2.3258828895696233 --2.526342258762571 --3.155285376803964 --2.723510392824765 --2.8923028127902337 --3.544806265651655 --3.9775955260433724 --3.103335906828886 --4.001788190701348 --4.429749963694941 --5.122850240581678 --4.62940113136224 --3.6389155212576947 --3.76818681434962 --3.76818681434962 --3.3887419561425256 --3.8437516603672526 --4.128379818768087 --4.092390391117494 --4.906043794804705 --5.0283201151008665 --5.0283201151008665 --4.393283173256217 --3.8944412646036146 --4.7647592143709865 --5.73161397618933 --4.785536791310403 --5.159239280278151 --6.080567149497498 --5.813521164249912 --4.841743716788338 --5.679666580480993 --6.361557527470643 --5.619689478514482 --4.831328300960156 --4.689778541572109 --4.1257143301841435 --3.3364815366531806 --3.2188261080810427 --3.307112053590149 --3.462342375669771 --3.540738779134921 --4.280965442174692 --3.4044090922949453 --3.4436178210781168 --3.8978527283789353 --3.8978527283789353 --3.7102070774038203 --3.810844038175272 --2.975635685002255 --3.4795171181351203 --3.4049597707780883 --3.803412213290751 --3.5795533064546556 --3.86153263728198 --3.86153263728198 --3.6532543533794106 --3.7356728476076606 --2.839249465489448 --2.231475861761351 --2.5025624140663796 --2.5025624140663796 --1.8188616374387518 --1.2693849677240352 --0.30059068581852966 --0.6697844539265464 --1.3948011564610092 --2.226886852385478 --1.9627207018738193 --1.9627207018738193 --2.373185320906403 --2.4027760352498024 --1.576201542654175 --2.0369776917500846 --2.979076353401637 --3.881282248172506 --3.5207057999683165 --3.462910396245082 --3.1707335948318693 --2.195805041550474 --1.4863196527558842 --1.4863196527558842 --0.927489479034556 --1.4328917535795629 --1.4963001682140153 --1.8261024365246574 --1.1181052535823472 --1.7727034208962666 --1.8120882743215851 --2.788809177231672 --2.0033235321239586 --2.1476076643640196 --2.552772851385839 --2.035273206104014 --2.734321883508845 --2.1148421873108827 --1.3355182701576171 --1.3355182701576171 --2.011348247467166 --1.5551938877447156 --1.3997076453500938 --2.3682506967972365 --3.0919195965048205 --2.2319838702775057 --2.606128612327263 --3.218921206434275 --4.019177018409135 --3.5514897772918084 --4.448926424416181 --5.173456129700364 --4.693240570216156 --3.9452513346053486 --4.560104265499611 --4.416775992978277 --5.100568088996242 --4.2873243047040965 --4.880104327449679 --4.880104327449679 --4.880104327449679 --3.886898119216217 --4.251565460974206 --4.235203387090635 --4.319547792896291 --3.9978035300173307 --4.984732142965477 --4.099105030755299 --4.099105030755299 --3.685779184103397 --4.257618949226538 --4.105886517903337 --3.555841320809219 --4.013285837917539 --3.9581301249817944 --4.798658535646964 --4.561799461955688 --4.906187472901554 --5.218439919881197 --4.8498423467843885 --4.8498423467843885 --4.077973643495396 --3.7862356551913607 --3.1152833852220487 --4.028627073677507 --4.680059645295704 --5.024035597377971 --5.668683727439625 --5.750591278128644 --6.71619374430589 --5.867881939726988 --6.004265802025188 --5.50145498931282 --4.810406755489563 --5.0620937236534775 --5.612476076170109 --5.612476076170109 --5.44866032073371 --4.910728568500265 --4.1394589580313434 --3.7521135015543727 --3.7521135015543727 --4.4194181308759095 --3.9831095225409623 --3.2781837055262204 --4.1408223569779 --4.702296999022387 --4.702296999022387 --4.712592315086785 --5.112922996130563 --5.369091730936324 --5.0125335851558885 --5.0125335851558885 --5.458168513847611 --5.293979323426191 --4.883737535900707 --5.021144193087495 --5.098737505070939 --5.098737505070939 --4.284507602459861 --3.5747868313757643 --3.258415754746365 --3.7123876743136885 --4.480785571113585 --4.560580122103361 --3.893581994731692 --3.066424309216438 --3.317044059669263 --3.4974160240286354 --3.4340090627699613 --3.72204428526938 --4.233356185712704 --4.233356185712704 --3.35085266191516 --4.2558310871989935 --4.923740812829832 --4.5136957236327335 --5.255460614589571 --5.7260651980468475 --5.155001150226297 --5.155001150226297 --5.041635289730284 --5.041635289730284 --4.24365648891133 --5.013285869375264 --5.073843542807224 --4.347711527551458 --4.134240316054095 --4.789065404818558 --4.551968327831987 --5.094678649737224 --5.168357100100595 --4.273949493273659 --3.95456717857106 --3.107513327014018 --2.2226081907759987 --2.445641898506828 --2.4785609331282914 --3.1360473725051508 --2.9456489117676656 --3.466162107316653 --2.710586479881786 --2.6839702268536447 --2.4249556676024957 --2.850695847728106 --2.5978556276535674 --2.5394437940471652 --2.149676144871253 --1.5096980938162101 --1.3509467813459475 --2.0166816937880228 --1.549341068205062 --2.0744667938087815 --1.5258992052993658 --1.5665002999612296 --1.6052347601306467 --1.6052347601306467 --1.7532823847871937 --2.3187581662367913 --2.2927264598134136 --2.7304985742295944 --3.2414919684464314 --2.6506426574197257 --2.2179061161035594 --1.6078233765686738 --1.090236664159789 --1.3187298750452463 --1.2238629743461649 --1.2152621553730292 --1.708306480982487 --1.8298857755117193 --2.644788076433114 --3.375614426321591 --3.979460326214916 --3.979460326214916 --3.617133468442992 --4.441659143517085 --5.019383270033632 --4.39274015450194 --3.9801961832143777 --4.857265224823688 --4.04448723324273 --4.202167423502296 --4.87481307398272 --5.433717070110173 --5.9289298811431 --5.9289298811431 --5.6389222466357705 --5.6389222466357705 --5.6389222466357705 --5.6389222466357705 --4.98415868947345 --5.633779179203198 --5.010236594311783 --4.4507953974515475 --4.221849870077478 --3.6024311208077737 --2.9468836428840453 --2.9468836428840453 --3.33736746660964 --2.9081682466749976 --2.999477471001579 --3.1171332247048475 --3.3860846289082045 --2.656663774021447 --1.6764208490725971 --1.6764208490725971 --1.8994423604602888 --1.812322269508615 --1.0626459345032395 --1.902793820281191 --1.0829609383429488 --0.9903191497836032 --1.5304768065202323 --2.4256435023199385 --2.704438182802979 --3.1453070293362457 --3.9831236987828715 --3.0650842667767755 --3.9058825442018676 --3.0780366256874405 --3.2690877812427943 --3.9258963087612835 --3.0383809280619314 --2.7867775776805694 --2.5079514023971976 --1.6065385568431578 --1.1051360422625773 --0.7546518406206322 --1.5267953884175651 --0.7400612563166491 --1.40531848259378 --0.7446413039954807 --0.9161002395470484 --0.6327489557606291 -0.17715954127654931 -0.778741747422223 -1.2652519932958457 -1.5568096686167872 -1.5568096686167872 -2.4888222526484594 -3.466563704389847 -2.513338369584803 -2.2127685250111417 -2.1909564104389965 -2.7926633912231926 -3.030687073837197 -2.9524808281806427 -2.081866147887637 -2.318152743281924 -1.5250806830537618 -1.0315448526910242 -0.8009288584431494 -1.2970930506040492 -1.2970930506040492 -1.6458619490980586 -2.2815389854100987 -2.398267425372458 -2.398267425372458 -1.4923996701593094 -2.242016578688905 -2.979150081684863 -3.040586601082947 -3.0714497885088248 -3.438832657336644 -2.6976989380982914 -3.040602820613839 -2.6578987592440924 -2.9048824709676695 -1.9306988156577969 -0.9442410035385493 -0.2857537775581547 --0.5843015720909879 -0.04655545079047174 --0.5856477992732525 -0.3125074579753837 -0.3786758364097724 --0.009907260205627932 --0.16626246029885716 --0.8971210278416184 --0.7951693188818045 --0.04349151087366332 -0.7011219106849693 -0.31649257800138464 --0.4148265316144605 --0.9583710738829517 --0.28389416308584103 --0.9610681921700656 --0.5584287233880233 --0.961038802426299 --0.29814715593181385 -0.5532502565599453 -0.4708861579595872 -0.6296876767819001 -1.1395194237080117 -0.22165285095183762 --0.6860599603437294 --1.0998980568010395 --1.7972544397605419 --2.258969812041358 --2.734918616298928 --1.830810260118959 --1.0398145505729077 --0.9457054458687744 --1.644521222986518 --1.993325356606889 --1.1616403342704666 --1.3846349147824557 --1.2367622150345081 --0.7915732965737299 --0.8247606927996883 --0.1344237754580303 --1.0587209053612816 --0.21671988932267205 -0.39246602718797585 --0.41395982604929316 -0.3097018855999567 -1.112169376364747 -1.3443911812382434 -1.3443911812382434 -2.1909681636246345 -1.9891845796466416 -1.9109815781933777 -2.4756526477790075 -3.3786431801245094 -3.3157575010125204 -3.132529178836725 -3.2956712331345237 -3.6183249881396327 -3.531928480596315 -3.0400941118092346 -3.836096478336306 -4.051529218073288 -3.6658458736600275 -3.5809240133125746 -3.0111363791186285 -3.710676060876409 -3.8007327886412337 -4.328802553228636 -4.065052679837585 -4.7305695847159654 -4.989092561819017 -5.85072463053177 -5.8866854416877095 -5.8866854416877095 -5.849138777138731 -4.985920867778534 -4.927601853254851 -5.836089889950706 -6.618258899116752 -5.692639283542951 -5.393334226027358 -5.728247548994989 -5.620158695856423 -4.924321326641098 -5.080973096109425 -4.3609137799444735 -3.5420993126783547 -3.7245936748503965 -4.124784096853043 -3.865472970028043 -3.865472970028043 -4.31492704004371 -4.31492704004371 -3.9521657873192635 -3.7400407742725874 -3.7400407742725874 -4.170325073469622 -3.525312697178747 -3.0025119516125733 -3.3298739507707804 -3.650510331784445 -2.691625249380164 -1.6927095987848817 -2.507348901953927 -2.507348901953927 -1.8817181766202593 -1.1232730388780523 -0.5704745567006233 -0.11191536403664826 --0.5235041566543454 -0.0006353813139304831 --0.4570299128362838 --1.254729367215083 --0.3796413050508314 -0.20065201695738644 -0.7262086822162337 -0.002263359429490519 -0.6276381826010113 -0.2320838089238596 -0.19667763932393223 -0.7989785400511185 -1.1618581471643592 -1.6091430322895437 -2.597145879552622 -1.8697211508748617 -1.9209177004599682 -2.1966019286142258 -2.4404798615473267 -1.863718768783784 -2.679995184432475 -2.679995184432475 -1.747498657048585 -1.4872136009155046 -1.1840643663233084 -0.5912759497462141 -0.5912759497462141 -1.418390304549071 -2.409513842237727 -1.6354390544420272 -1.9384974474204923 -1.7207109153010385 -1.9381983133864056 -1.6400512929237707 -1.4531737022089728 -1.263018433378154 -1.9801694920190631 -2.8497946752259766 -3.4992294192972935 -4.4572860369801255 -4.175389356748584 -4.039519872195422 -3.7002241150678143 -2.9560188976669215 -3.581207802778544 -2.8350346844716405 -2.0304557932659515 -2.233243227141929 -2.233243227141929 -1.967559438424907 -1.9912922822456747 -2.6274903960199865 -1.9099146274586276 -2.8350961762862603 -3.2114692313726936 -2.9832600462528283 -3.231005939509624 -2.2874825860460843 -1.9388885587194022 -1.0868614695898 -1.0128614285125908 -0.018954785276042108 -1.0140012273984245 -0.7359748401632923 -0.4940319035794032 -0.6298959312799848 -0.23718540062978322 --0.7138189946300423 --1.4614313892544293 --0.7295029591786144 --1.1020336652421596 --1.4114157224322499 --1.5262224963461395 --0.9530096245399098 --0.7106961536916354 -0.2664821319012889 --0.6317699296991033 --0.7506874791629256 --1.4313127501406435 --0.7224960221289121 --0.3855361416362426 -0.4133358186714928 --0.452823707376139 --1.4149048318589497 --0.8220451983864601 --1.6590548592449308 --2.0694537596494698 --2.6268799967705 --2.0240550405076485 --2.875958756826094 --2.8531608455172854 --3.0650087582409786 --2.8077337161743445 --2.8077337161743445 --2.2038193803047603 --2.22761956257307 --1.7315619065645285 --0.8246770273095057 --0.0983341200328205 --0.9684304602699854 --1.6405334290553826 --2.061441886737429 --1.6340650754276165 --1.3702159460642718 --0.5621467927072525 -0.05098541432458226 -0.7725681389929566 -1.6200845060095779 -0.8082216824525486 --0.12109578162550849 --0.9307644461878701 --0.02412658047909 --0.9302135859698009 --0.5503782985579531 -0.43601850488392047 -0.5670172349097671 -1.2445394353776613 -0.3669743954869942 -0.04320589964668098 --0.40218463557239525 -0.039209802508296976 -0.9224408594191116 -1.7763110156120003 -2.7605154936546423 -3.4557878246554505 -3.4122616923053894 -4.222779005841322 -4.222779005841322 -4.222779005841322 -4.966945232326098 -5.7535812299375175 -5.303648134775634 -4.593684464159081 -4.593684464159081 -4.751860323754174 -4.657035766136201 -5.380626872894236 -5.707282492770154 -5.369255248387711 -5.369255248387711 -5.25843785887785 -6.096345395510164 -6.096345395510164 -5.9704137036306175 -5.456806004025777 -4.7551831712891115 -4.2227361181097285 -3.5905326313771497 -2.804854740720108 -1.9905354910790365 -1.9905354910790365 -1.9266753474806273 -1.9266753474806273 -2.2553972091139043 -2.687327686625472 -3.3137966890360158 -2.984207963366919 -1.9893189393704316 -2.2546037740964646 -1.9906332887857867 -2.1824214353891866 -1.687481950065214 -2.158216722269774 -2.6508317149379783 -3.2056087280722902 -3.8289962288202526 -2.97222709631793 -3.9718436553070493 -3.569444738887376 -3.569444738887376 -4.292777595431799 -3.737810909109461 -3.2414858745449737 -2.3394828771286384 -2.3394828771286384 -3.0804214673841366 -3.7629352298637575 -3.7629352298637575 -4.692672575804238 -4.692672575804238 -3.7270449566559805 -3.7270449566559805 -3.349458996316141 -2.6609411153786433 -1.6696797844796925 -0.7376064929648625 -1.3894730128969652 -2.18425533315886 -2.0748862875749126 -2.451857973598319 -2.0289365333514766 -1.8223763425408093 -2.3771209239300246 -3.2067199122043757 -2.638131820640609 -2.714209691680397 -3.651838454642655 -3.9331266364619926 -4.800609403509745 -4.975698835273663 -5.703223264644564 -5.803985510412069 -6.23139173790469 -6.4770298752792375 -5.9685383825209675 -5.030604984827754 -5.133852834993976 -5.138099908406024 -4.642680988100815 -4.149584013688935 -3.7558935295376816 -4.046473061272272 -4.562308877319179 -4.240433818893848 -3.9978881125313324 -4.174335074443393 -3.970259112004676 -3.0390458770576627 -3.0390458770576627 -2.8431696738065626 -2.7061723654474936 -3.2624231877704135 -2.9960063973367803 -3.6851512437937526 -3.342418441318423 -2.5422988330611966 -2.7177424653382207 -2.075639518962903 -1.3229612999865723 -0.5714722138350912 -0.84037632556042 -1.8115095886901755 -1.8792453864076388 -1.2390934900999613 -1.2193878470119728 -2.1556074327690276 -2.2779086018615557 -1.7786890234724209 -1.800387279075709 -2.5301004609446327 -3.3014787898206612 -3.754564725727018 -4.742726475129656 -5.3794508079285155 -5.3794508079285155 -4.792911835292227 -4.411366175852558 -3.9443790925354887 -4.0376741723816 -3.256794958355939 -3.4009785856452783 -2.7883414039811103 -2.781391354015206 -2.781391354015206 -2.8300015505237655 -3.570642356796942 -2.8714434534282542 -2.007558024639577 -2.334869510988461 -1.8641766388570096 -1.2641192235730803 -0.5393634177650266 -0.3856001423858465 --0.1872309676649343 --1.0139945336167648 --1.4527893479795377 --1.0757846207781574 --1.8839368853332725 --2.0472035640040698 --1.4414182776847875 --1.0529777109305833 --0.9385271095222889 --0.050141809540341864 --0.12294339620345529 --0.34118933551284036 --1.2851406885166794 --0.8121288607556256 --1.5138822374264105 --2.172614083265842 --1.4146717591402838 --1.5998976792605952 --1.7703870457933362 --2.3943394052873734 --2.189598270231954 --1.5237648848765093 --2.061601558492267 --2.133880913546647 --2.827217148437815 --1.936627756424943 --2.7121944884155487 --2.7121944884155487 --2.744622140415206 --2.21464885943534 --1.829817577700936 --1.7560262409038194 --2.204430697707745 --2.204430697707745 --2.248872420574328 --3.0107999545481148 --3.9269779857716385 --3.9269779857716385 --4.0513856106882855 --4.0513856106882855 --3.076764521907693 --2.80549564396188 --2.80549564396188 --2.5690858129197007 --3.1701953882230867 --3.179239867758035 --3.2437598313460287 --3.381070217759243 --4.198217369076198 --5.039919260115854 --5.3516571125132675 --4.973833668374493 --4.988546397133264 --4.801849941821555 --5.199497051144914 --4.633315089751871 --3.9686212542257566 --3.9686212542257566 --3.143637454270637 --2.883780305427309 --2.2945494490794145 --1.8173030981186298 --2.1631886706362273 --3.007030775911484 --2.704789948864552 --3.2030615582733772 --2.5214334121242628 --2.439649315705264 --1.587903377307289 --2.4040228951607183 --2.8991340053695716 --3.672802516675419 --3.0706455296120905 --2.3606696283647706 --2.4029909037139157 --2.0272606492366325 --2.1547341870514773 --1.2579156311757107 --1.8588506597929186 --1.7672830621949263 --2.2375618516867153 --2.9364348702986085 --2.7186445730939557 --2.4404226684711707 --3.026887792906633 --2.0402573217460382 --1.9659475535177773 --1.7289139427687588 --1.52575300733694 --0.9268627270736156 --1.6530645542055498 --1.6530645542055498 --1.8774451448967504 --1.902040193290913 --2.5637777208876935 --2.021150866305057 --1.3714402080978187 --2.257847377621644 --2.5760632138501856 --2.2669746289054453 --3.004002819718781 --2.5205248866464878 --2.456934987212564 --2.7579291952887415 --2.2241640771614235 --2.301812408371642 --1.8253545293505158 --1.1917272959763798 --1.2866762192922399 --2.0825096159288243 --3.022994223845866 --3.2115272979269647 --3.016958149453798 --3.568484416866615 --4.290884297078169 --4.39432119152991 --3.6058493253871458 --3.6370235887799374 --3.6370235887799374 --2.791609508835533 --1.9745752821987916 --1.9482280292063858 --2.683700735408295 --3.4345164551730134 --2.8114826878047556 --3.2032590655322997 --2.3742871954581934 --1.894413047143757 --1.8619099628324787 --1.7221945661878597 --2.3587326238607624 --3.1898121452971075 --2.6762595121198864 --2.612953292098192 --2.3115811568149924 --1.9059466192867702 --1.5637332327901523 --2.474935436790285 --2.0018300722890516 --2.6988163379137675 --3.060148803184945 --2.1083500058193048 --1.6753891231413935 --1.179619421867388 --0.7318476544616506 --0.26865464627355773 --0.7730743130713364 --1.6800700875555168 --1.3752963425665656 --1.8954924460504199 --1.7900273611170063 --1.5950210244555914 --0.9425627135359727 --0.5270836468662323 --0.002461857467318751 --0.9884068713088836 --1.3682612023576102 --1.250822961078615 --0.9445476976397122 --0.5238278589772227 --0.6069847140340358 --0.27093272429992876 --1.0327206274339842 --1.9407375516510412 --2.78519636953096 --2.112317543918887 --2.02388157168664 --1.8557992137084207 --1.8488894556779654 --2.2618344558730867 --2.983325155026428 --2.9828192822042445 --3.4873618988097244 --3.872572803521063 --3.551391612115856 --4.081980494886999 --4.81123377758065 --3.914930357524095 --3.16950560256615 --3.670755292617539 --4.0333131784238105 --3.10307959869823 --2.918627436563307 --2.109641455211036 --2.927653416488804 --3.6524281900150033 --2.752961382256658 --2.6036397720922713 --2.9361161869258092 --2.5877537295074013 --2.5877537295074013 --1.6985570638239182 --2.273394213450973 --1.5103314319881584 --1.546812598101182 --1.5837362286186565 --0.7890850485451348 --1.2068137864101622 --1.9374201241282916 --2.4045417252897545 --2.4033955494603623 --2.057717585661001 --2.60763290619155 --1.9199473974057226 --1.4081668559286247 --2.2336839564720314 --2.2765870042349463 --2.1207285335288804 --2.4046830268962354 --1.906700084329583 --1.3756345623058819 --1.5693384782282243 --1.5693384782282243 --2.2731070864135843 --1.398325808306814 --0.8441952365205643 --0.4326990937111468 --0.543544943258324 -0.061182095087530475 --0.5127220741823623 -0.040511828530707894 --0.6243398503523904 --1.1508001722968566 --0.9802834948929735 --1.4304420500106265 --1.2430959553023846 --1.782245017113178 --1.590271025843211 --2.0041638923945775 --1.4905621831421605 --1.0701699293439835 --1.48055881007858 --1.5844769026909238 --0.8167634147938592 --0.3187205312407464 -0.022593662333657782 --0.42716686904318657 --1.026882524533565 --0.6920806751687523 --1.4866790804776893 --1.4866790804776893 --1.8144437859139622 --0.8658535081790228 --0.3312050322455595 -0.5244004376211933 -0.37670626266739193 --0.32219320567329224 --0.01142948145878886 --0.9188844749283663 --0.6467104723972447 --0.7788309990976834 --0.6635616389210544 --0.7094783529590166 --1.6448634754689029 --1.2868976622436712 --1.3746535680636418 --2.089946724134249 --2.5864069447455593 --3.2793496114934113 --2.772390162486901 --1.909317812299133 --1.3132996351022885 --2.049607812016772 --2.7752717037863697 --3.1805520252407127 --2.728053436482741 --2.728053436482741 --2.1977704333818684 --2.2953972847549764 --2.4762349791333715 --2.649890454453265 --2.9420971391619983 --2.726916025911418 --2.370369712875553 --2.0350327739095544 --1.9247462886422455 --1.958126060847102 --2.779639856870541 --2.9279407402927724 --1.9280900855504741 --1.11390059922741 --1.748026973432694 --1.9534347389749067 --1.3401200626740346 --2.0593127776216624 --1.3973849249265786 --1.9110345478763944 --2.0196153667651147 --2.4982556106064937 --2.5226601005807936 --1.5609366042569395 --1.838627141279476 --1.3819299953596194 --1.6306036197332094 --2.1916472119547885 --2.2933799470315526 --1.4073048598156164 --0.98534474348255 --1.0383093516191977 --1.6347683465059692 --2.1897606552066127 --2.1897606552066127 --2.0508028020599607 --1.680796211832867 --1.2414482702351355 --1.6846632437725604 --1.3716406679102127 --0.9889817605452407 --1.0979047145260132 --0.22235751952704086 -0.10372115579253016 --0.4066800817083529 -0.21743205732086834 -0.8013347197879943 -0.03952177669566148 -0.04316535990982895 -0.40581549104780734 --0.2686671631815398 -0.5130351194352789 -1.2591408712225192 -0.6639244555918762 -0.4489048375476127 --0.5420309522563557 --0.27702459404997704 --0.27702459404997704 -0.3752738135301995 -0.3752738135301995 --0.08107932790730543 --0.47397910613218486 -0.20210023851938563 -0.7280666260663838 -0.9646628512021652 -0.2840042706971745 --0.4851926646843344 --1.476844802826974 --1.2609131781357719 --2.089989810674237 --2.079770366298444 --2.6737036661517655 --3.39558574384885 --4.24223410643619 --4.282821097233986 --5.269646975733547 --4.963077402269105 --4.85219669229961 --5.182059689610928 --4.215599763646651 --4.289681781537732 --3.9508221728338793 --4.772065571254667 --4.5995895930889965 --4.5995895930889965 --5.255473613778604 --5.529955014697985 --4.540183590464464 --4.540183590464464 --4.435422488607406 --4.9206215739332135 --5.6155512067644215 --5.260567700828335 --5.260567700828335 --4.402979386645248 --3.8611368615143435 --3.4464623242656023 --2.742777251787713 --3.0809340693026153 --3.8939775402725507 --2.951929055541017 --1.9835815147782732 --2.4671402807846676 --1.5874457160932218 --1.7240420579023716 --2.60614827620032 --2.229033444729051 --2.2595055892830604 --1.6182735100453018 --1.2808762537296379 --1.0290763987337215 --0.6074489149318432 --0.47985020681565427 --1.2042789147748767 --2.056181788118823 --2.6202218595957865 --3.06842975763839 --2.57168567132232 --3.0924501540583655 --3.3218432484051457 --3.8886498528839137 --2.9822572018012643 --2.2493062989631207 --2.2493062989631207 --1.8034776162539836 --1.256080441306002 --0.6573716515205128 --0.680794459108036 --0.27719892039891525 --0.17794783991730834 --0.6747997550782958 --1.176572948063653 --1.9810446174794687 --2.4151179318504985 --1.589911793177816 --1.4234279125862668 --0.7304620098293115 --0.7850907607419891 --1.1275163085150692 --0.2873067441697792 --0.8915666963380326 --1.8669738388999597 --1.3793416129433502 --1.5676328988631631 --1.3536232454421036 --0.9907998156224493 --0.7937171783112706 --0.1548567904759408 --0.38479267042255205 --0.8774417292615206 --1.6395136133221415 --1.619278888605694 --1.1788326170374273 --0.3410444459372397 --0.8988546993840165 --1.838581862926906 --1.0235524589047893 --1.1617201778921804 --0.342025729844456 --0.342025729844456 -0.4170342724703675 -0.6621880844612491 -0.8790569058808781 -0.6173253932204127 -1.2381473159859158 -1.781443580045987 -0.9676370489340973 -1.3416164278745473 -1.3416164278745473 -1.3986563459919517 -0.8999241557660785 -1.342656412067171 -1.0315481754641684 -0.8490677735292668 -1.7147521695700614 -2.535662109360361 -3.498658886290241 -3.6841570585273264 -3.4875493572115377 -2.6448750435083133 -2.6448750435083133 -2.3095003378108725 -2.4835695636920483 -2.3122791711339343 -2.7021861659270665 -1.7581947107911153 -2.1958771710915324 -2.2370722676921915 -1.9313633236807388 -1.9537574477392352 -1.628155186353505 -2.099758182532156 -1.1752670437507393 -0.5067870740132014 -0.7972095259503993 --0.20110537114813676 -0.42105056971235055 -0.46855284400959074 --0.368488339610054 --0.7178279772950499 --0.5976190622946614 --0.872240037003208 --0.6192103069534374 --1.3310225507007802 --1.9933516686612047 --2.4035724942284316 --2.0347045790555045 --1.202926902145221 --0.5396571443091918 --1.0566814405442169 --0.931336568248812 --1.7918325892707614 --1.58718861526334 --0.7798457965410046 --0.8111954098197368 --1.5357234412116063 --2.049390523408236 --2.0917489189391287 --1.18659112199518 --1.9489993016563059 --2.2161717740463622 --1.2584482317812589 --2.1856402258954133 --2.244882583431817 --2.511597386158916 --1.5792695215366923 --1.9189454668907047 --1.7330595267988906 --2.1928547924060644 --2.1928547924060644 --2.7614554983817587 --1.7959055727115247 --2.1423821051349794 --1.933963931098129 --0.9892099693632712 --0.9892099693632712 --0.2935396592839936 -0.42895122987501066 -1.215916621677669 -0.710908969366481 -1.0039036447630858 -1.216464249801319 -1.1105872605359957 -1.1105872605359957 -0.9765741631660344 -0.6815641200597073 -0.5133353203788763 -0.33791668316993384 -1.1384853208144827 -0.38919896603905824 --0.556215590394584 --0.2534945583281256 --1.2058541624519807 --0.6643781906847108 --1.1390334487783953 --1.1390334487783953 --1.7627375698141454 --2.461028086976401 --3.0177642584266664 --2.617774997994044 --1.780256573455037 --1.0793184972613614 --1.4237103435033474 --1.6116771928074813 --2.237340503377296 --2.751980298270729 --2.706292784078027 --3.1127047988157095 --3.1127047988157095 --3.062945534512778 --2.2633562168076073 --2.2633562168076073 --1.527200857955969 --2.2024503535755633 --3.1375437254715353 --2.3831651816569526 --2.3831651816569526 --1.897778954170365 --1.9248286770462957 --0.9380124461595771 --0.6935941560858827 --0.46365294053883876 -0.3776187528208501 --0.026173322890719608 --0.22590672822253977 --0.7008101195521536 --1.6208274090117714 --0.8839675867409822 --0.5867568399627088 --0.6466415903614543 -0.20929293819646266 --0.09383838878934103 --0.9353960223479567 --1.001761226415793 --0.1809100841745439 --0.6798503367001255 --0.4279035704345254 --0.16524016912736028 -0.2065311560737556 -0.15267021704013062 -0.3151959160746687 -0.03479835846965662 --0.6754604943801835 --0.5063862342108455 --0.9500874601108467 --0.1327030109976548 --0.19891441300452606 -0.43930894957911615 --0.15284765230041775 -0.5756118148581827 --0.17281759184024714 --0.54289482948634 -0.19352672249395675 -0.11292768287513744 --0.02017972421540115 --0.02017972421540115 --0.23072236790849787 --0.949111205112858 --1.3943425789102193 --1.3943425789102193 --1.3056320629991387 --1.4160749803924881 --1.0970681163271792 --0.6084613047755034 --0.6499610307960514 --0.18245077504503515 --0.7246775651817988 --0.2878813188241419 -0.21369747219801283 -1.0187209442772036 -1.0187209442772036 -0.7523696525684419 -0.915859012578445 -0.8695027631613608 -0.45356881826748874 --0.08647717210214922 --1.0424833108246285 --1.519467090988348 --1.3972712671210505 --1.136815757995505 --1.1970362546322524 --0.9777200612263652 --0.06911260624168625 --1.0542806909906826 --0.6583455877423263 --0.05765749017002886 --0.10279527898807828 -0.04759404358917052 -0.7123355857106856 -1.4918035751974528 -2.1546950255042256 -2.1546950255042256 -1.8086700876738568 -1.8457876940644968 -1.1909312708212683 -0.7552685368136663 -0.6902877429354748 -1.6310248781610808 -1.5574507737327665 -2.442711962334017 -1.5535047807689986 -1.3713897015742829 -0.48114669321200254 -1.3054211882897964 -1.7266767441424455 -0.7571026811567882 -0.27992989080864394 -1.1254441111050308 -1.5476958585400082 -1.6900055286606133 -2.0139589907578084 -2.354764342787904 -2.395248541665004 -1.7311692778301973 -1.8303139561065294 -2.2347331833780375 -2.852062540849885 -2.217145921476022 -2.4564522291969886 -2.478122689894149 -1.7430430446802048 -2.27561731367204 -1.7159455562993935 -1.1552849394648776 -1.1052711071597208 -1.1052711071597208 -1.7448673027789534 -1.9245985320699959 -2.36516894864971 -2.0234689371327113 -2.4651637725070277 -1.5598355257635408 -2.46027705909243 -2.378562693470959 -2.613707254120823 -1.7281912614742558 -1.4184483391991174 -2.1610114182013147 -1.384884734813674 -0.5066544995435427 -0.9723896267302234 -1.4903714796801089 -0.5136466576816154 -1.1541762786337044 -1.7826703605818097 -1.7692411393081704 -2.013501520359543 -1.1843315174960551 -0.7953771062868965 -0.1918224864649266 -0.19812963365050706 --0.7315393339726693 --1.2695176458135555 --1.5685471021853545 --1.7434656337571472 --1.2073542683592278 --0.8321744514006439 --0.0030026424082203462 -0.48902849053822317 -0.15162954486635838 --0.5298427733227958 --0.329485439419808 --1.046663801797775 --0.8427676850141486 --0.6389360094518062 --1.0243529003585814 --1.0243529003585814 --1.369503158295596 --0.5394958238403837 --0.6068725241548728 --1.264142554339731 --0.9107513471445274 --0.2104860635695367 -0.40074329063557235 -0.9556911446090794 -1.8903766802022455 -1.2482948581882258 -1.806528456270895 -1.986097151986678 -1.0269220945621136 -1.138590369369549 -1.4442269567207848 -0.8007567567803768 -1.6165322989300768 -2.6141656968316385 -3.5276457644469046 -4.054647795798961 -3.5526683686900404 -3.5526683686900404 -2.7700447671950457 -3.395865997546817 -3.0014443694436945 -2.114627053105993 -1.4936761155267058 -0.7066219914989376 -1.2290076458718855 -0.32116389739411044 -0.637473363516373 -1.303293219919642 -2.099169380464759 -2.099169380464759 -2.9079575418326584 -3.294559617445292 -3.9585417338525524 -3.38666000690728 -4.254891048453382 -4.217891228698097 -4.792401777651726 -5.259151586896527 -5.41111811953089 -5.245191162284801 -5.245191162284801 -4.763643161269652 -4.763643161269652 -4.763643161269652 -4.763643161269652 -5.3358432659816835 -4.777466627226511 -4.893824274560529 -5.188451329482273 -5.0237565500986285 -5.0237565500986285 -4.164987369668895 -4.164987369668895 -4.763518733051639 -4.376240792769221 -4.798612846657432 -4.138298091005438 -5.081630520187546 -4.844146990353501 -4.5214217443528035 -4.5214217443528035 -5.054634328865469 -5.054634328865469 -5.553050286686556 -5.070672836514865 -5.415170083317616 -5.3467039846393485 -5.604537457507481 -4.683985621003785 -5.6770847005545075 -6.341258253259024 -6.1112508860574435 -6.089139911479736 -6.9733845203595735 -6.207267332780856 -5.697345159966451 -6.550780298549747 -6.514132005548379 -6.313547742676971 -6.313547742676971 -6.617321881471835 -6.868004232132922 -6.098756183620686 -5.841893861603172 -4.969384232514725 -4.988253809973877 -4.63839217759914 -4.63839217759914 -4.242174792178187 -4.928555329117914 -5.637508571152504 -5.049579367279696 -5.168637112693501 -5.250321937935178 -6.159578222990479 -5.302939160622103 -4.791046921779223 -4.649068686908223 -4.0203638800287855 -4.0203638800287855 -3.6046171132778344 -3.6332333713053684 -3.0005548488718325 -2.162578914239205 -3.0108091469814773 -2.5235843501260784 -2.4684596817136186 -3.0378938319418642 -2.8563797815071927 -3.2987478747133867 -4.124335928408077 -3.7887129157554935 -4.621010928003105 -5.244457759179115 -4.358566832756706 -3.7064565517874692 -3.158217919287716 -2.7288120742988933 -2.562983735876306 -1.8782350585387702 -1.0279130190964552 -1.5618957518140457 -1.5741315043366744 -0.8728153274051829 -0.2416597050719238 -0.6726314815053713 -0.26723046177079535 --0.6417150490861229 -0.25283333900578475 -0.6132186152624849 -1.3275963037337992 -0.513081348209151 -0.4185562939989317 -0.7395488435731693 -1.3746127136830517 -0.6418724314681126 --0.12197929803171137 -0.32944342086090317 -1.2873279702073084 -0.47661716815272825 -0.7506983131586022 -0.5825620619906443 -1.5213365270482364 -1.558098454344109 -0.73370532358517 -0.549849845687942 -0.549849845687942 -0.9054033780315435 -0.3189378465282168 -1.0230525794678056 -1.344638736761198 -0.9418323965224878 -0.5197441806491205 -1.5023433335380283 -1.3017039473137344 -2.0136221792207483 -2.0136221792207483 -2.0275501158814526 -1.6632727814919224 -1.3745798013127057 -2.2338756113299447 -1.313229323240684 -1.466837370038901 -0.585771470764082 -1.5053772641687932 -1.444051714957284 -1.4804073400594817 -1.3816969403033679 -1.069664630177217 -1.3104849774332583 -2.218315420684152 -1.337979580046958 -0.5032978179750136 -0.8906926192186593 --0.03614056181926495 -0.8569202418960575 -0.4711393034784276 --0.33551309567260035 --0.23761524407202816 -0.058504950217687424 --0.22507540534057657 --0.5899368095326628 -0.1461082427768331 -0.0379744560064037 --0.41367220002030625 --0.21032654534264605 --0.7587192238876074 --1.663528959775869 --1.663528959775869 --1.8693069643694717 --2.3795119102853297 --2.6967255955636933 --3.3214092204745103 --2.8953070440451807 --3.7422967932211764 --3.740022739535368 --4.182967734759784 --4.161836494998269 --3.2163650394061087 --2.8585298772591634 --3.7080157280288732 --3.1113163715552696 --2.692017691669652 --1.8452630859954806 --2.3851649620436666 --2.4878791556041318 --3.3875618654831143 --2.8703059333778373 --3.2575509300293497 --4.239890318721043 --5.14224018902212 --5.524818033800145 --5.617297140460864 --5.617297140460864 --4.945105504228182 --4.032417411478432 --4.707573039617339 --4.604962985405754 --4.211877838039049 --4.70553216169611 --5.702929122538469 --5.559282571860905 --5.457112054927251 --4.684168023623516 --4.526516293521387 --4.7103368841255335 --4.769789069833316 --5.456446886676851 --4.471751961390213 --3.707302702702771 --3.5140378704368835 --2.776758225716259 --2.827074851496722 --3.2603921809396432 --3.466274640785465 --3.753359229271995 --3.753359229271995 --4.462250976101988 --4.296230254228336 --3.3255786411744146 --3.296053480667288 --4.195088984726236 --4.194746328913714 --4.529613079453944 --4.927020444208355 --4.927020444208355 --4.927020444208355 --4.388569961245125 --5.253849037158466 --5.546447830091903 --5.546447830091903 --5.017573176760432 --5.562846164351475 --5.523631322843836 --5.765567232348276 --5.679292099551057 --5.679292099551057 --5.568160799480963 --5.251495040450727 --5.339426267600846 --5.339426267600846 --5.197818900384238 --5.350390431761304 --4.751664164495239 --3.93630743060146 --3.8762692074606986 --3.100435025558129 --3.100435025558129 --3.257034689352071 --2.4390033735188763 --2.539614699537386 --2.539614699537386 --3.06173817290738 --2.63311619585879 --2.4133693721104152 --2.757663867280446 --2.623530867123737 --2.623530867123737 --1.7209179103993557 --1.7579407178124273 --1.8647589492431913 --1.7908526918417491 --1.0358688162041785 --1.624030289506842 --1.5044059631843665 --1.4201383350866756 --0.6775293473014738 --1.3908384947011951 --0.6853722582915693 --0.5688670999612151 --0.0947302470210809 --0.05435221010425684 -0.7055081783860981 -1.1208014786943268 -0.8352324651518713 -1.652251618352075 -0.7441524371876815 --0.023230631432438642 --0.825202181147928 --0.5606149424978828 --0.2913614799608564 --0.13512544062934428 --0.4507506240143223 -0.07219747233859708 -0.43295223585635834 --0.28287234603601663 --0.9481877876522243 --1.743234291841436 --1.027238686643893 --1.4346110107696672 --1.6549082731564755 --2.451189411706838 --2.2432017945459206 --1.3507478420933936 --1.4836045878679407 --1.3338321380512403 --0.9078013950134134 --1.798541250317186 --1.0282116520403857 --1.0282116520403857 --0.056548317982666685 -0.023808940034719006 --0.7154753552012085 --0.19906569773369642 --0.2107067745095269 --0.6684007810758943 -0.14580065181113033 --0.5660405167685212 -0.33373104735273773 -0.6015576208294102 -0.14007942623814718 -0.9859639974463771 -1.7012148292865183 -1.4422124554291855 -2.1289921799249196 -2.6745115355676075 -3.472059216897834 -3.902023531097181 -3.8936416393004727 -3.0819593513306427 -2.531063404592248 -3.0251723861292374 -2.827883528863953 -3.1970574427704426 -3.1970574427704426 -2.4057820433590202 -3.31079422389411 -2.4941937177103535 -3.2674577062981687 -3.416495822648194 -3.0166539575203033 -2.269243031411399 -1.6442144219540988 -1.1223595928132535 -1.0870902549308887 -0.7578189564403363 -1.1962834927467947 -0.3973664781039896 -0.06627688471175552 --0.5235204498383096 --0.4169379490692683 -0.19627390190078697 --0.5608888059683937 --0.7175489499790351 --0.013074435109505789 --0.3437927433848088 --0.5953237970673246 -0.14421179937023942 -0.7232307900312889 -1.3747073035204873 -1.32249607732277 -1.1400250757250574 -0.6694387029722101 -0.40944565097883157 -1.3602809332816785 -1.3823525966949353 -2.01486973962731 -1.5047967700113074 -1.6603004841450633 -2.1394156314257566 -2.7121280315542373 -2.5310102327858783 -2.608144289038594 -2.9555861098620566 -2.6449643295541256 -2.2476000140315655 -1.7898128087069747 -1.7898128087069747 -1.6042670396950154 -1.7932293087048226 -2.4190342633238586 -1.6121039278887241 -2.3185651085450556 -3.2075082398434 -3.7134224281826604 -3.6456985644666555 -2.945270116343142 -2.6177032238336286 -2.7734616271339867 -1.9355565277117035 -1.9355565277117035 -2.717102028996389 -1.7933490737054987 -1.3922107625814553 -0.7109541366600307 -0.1957591394995304 -1.0009806406228345 -1.737274883395438 -1.2504067273589667 -1.2583226847889457 -1.4641666062352066 -0.8310803962122635 -0.3649884041254231 -0.5499857301014254 -0.7585510000399979 -1.1059599121203711 -1.63982460900901 -0.704812225497353 -0.09523527661163711 -0.6315177185191561 -0.17717400701859243 -0.4000210490512478 -0.42603699804965356 -0.6861778198449598 --0.16292580698900372 -0.2617154728347849 --0.19861974570809093 --0.9343660328988665 -0.016744257570815657 -0.4182157598719858 --0.20625487128821884 -0.7351543959735396 -1.124202532023118 -0.9902609639266043 -1.3192215544533767 -1.9679501046250345 -1.3480441215444485 -2.1387541367188647 -2.023672205219182 -1.5367948575804187 -0.6117710020914171 -1.2428888112843257 -1.3134703421826566 -1.4933834314884535 -1.466508847997285 -0.936593120759293 -1.62261753695964 -0.8332176317050739 -1.3480072065001507 -0.6801809941344192 -0.19982677067280374 -0.09897171719694953 -0.4932755520367389 --0.42759371005832514 --1.2992433133509365 --0.3023042404680296 --0.36944764065153246 --0.5199919661280905 -0.09462696544354321 -0.3848696535923777 -0.8828023416843025 -0.0813769161835991 -0.8234427655742314 -0.007732052429712866 --0.7942166565802151 --1.0690442327302563 --0.5543688256848158 --0.05201719618390954 --0.7211024155160504 --0.922600723288649 --1.4714259070897873 --0.697205220474002 --1.6848534513677025 --0.7317834736289079 --1.6081538922575291 --1.2565203266440357 --1.2565203266440357 --1.0009251750877273 --1.502037107422148 --1.5939405528565884 --2.484013076064972 --1.6832494874956196 --1.5551307676096582 --1.053115523946663 --0.59468658615364145 --0.19672854768831405 --1.1870440328190306 --1.1870440328190306 --0.5664174010146201 --0.3524111749828449 -0.4674057927646118 -0.4515685387569942 -0.5979797780876209 -0.46813235182916424 -0.12036903466505555 --0.6420047128669025 --0.052580106905467994 -0.6300850914443984 -0.1516285476517154 --0.7957804662292056 -0.011893632754236716 --0.1327364114489603 --0.410875751055789 -0.165935449132375 -0.4310603470914389 -0.6603752623446189 -0.8386423172354485 --0.03980399683538827 -0.6096152857455008 -0.5800360106620582 -1.1674244326004062 -0.7113115609876087 --0.021549853688087928 -0.855452189798069 --0.020230461914902853 --0.785802460114449 --0.21395187323555398 -0.4663397649167321 -1.037037136685421 -1.632482497292814 -1.1041594900770129 -1.0347298203743307 -0.43908224478956726 --0.4778935150518675 --0.8582681579563215 --1.0671866046888143 --0.49180398903983025 -0.16918734688095816 -0.17276492270779187 --0.7690208783798222 --0.6117927496000726 --0.23308769251615713 --0.973006150275477 --1.8465777881674883 --2.346479372113938 --1.4577050590185667 --0.5802597507064013 --1.0856727767615901 --1.252860748671166 --0.510480912917298 --1.0632233061135687 --1.2651883269644708 --1.701717222911245 --1.4765488022473372 --1.617656826182221 --1.9264812866242607 --1.2124433539822104 --1.851244593599283 --2.5718478960524793 --3.4883153569470045 --3.4883153569470045 --2.808642174416657 --2.2019615323110746 --2.1139920714761455 --1.454346170430136 --0.8565187843319348 --0.49979692039209844 --0.7656835294528107 --0.708301012302008 --0.708301012302008 --1.374193016285294 --0.830393139616669 --0.4776518032817998 --0.4776518032817998 --0.4824623226101049 --0.9914489276805784 --1.4005520864625398 --1.4430340303346467 --2.2889782529352054 --2.1719954355874047 --1.6807177347357345 --2.066481595680431 --1.7587567558400645 --1.7587567558400645 --2.1314436272057637 --1.8560991542374765 --2.1081528273629666 --2.9586926987586972 --3.711805754490756 --4.270271190812841 --3.274913177315538 --2.7096215863265165 --2.7189168028899706 --3.688524386832582 --2.9009557446697896 --2.5122388491482344 --2.9168104880521875 --3.58802480109035 --3.457339723798591 --2.883684979065214 --2.956058980079175 --3.810231604282296 --4.740373180779889 --4.536861894383281 --5.17961105568455 --4.961460447979799 --5.854789942107238 --5.545225236206769 --5.545225236206769 --5.051348148693604 --5.051348148693604 --4.321430210023907 --4.011708062396673 --4.39223337296479 --4.583922130242011 --4.932691594073235 --4.3223731238160665 --4.3223731238160665 --3.37783391784488 --3.677059083752827 --3.5439481789508505 --3.852945723996005 --2.93813555336636 --2.348910622596909 --3.200170509205484 --2.428121157220863 --3.3611628223650794 --3.341577003684859 --4.090021825078559 --3.9902414019926042 --3.6778040268672703 --4.067346130918518 --3.1240293153348753 --4.107746749474351 --3.5331814162930093 --3.7836615691588475 --4.69057914099289 --4.69057914099289 --4.816492423405625 --4.675775801048292 --5.6722908128786615 --5.018841405995113 --5.018841405995113 --4.686783059067091 --4.686783059067091 --4.069327672083974 --4.250552327726069 --3.9468463428371283 --4.062325236946665 --3.9730333720810522 --3.8520384842085638 --3.4356493032621866 --3.00580125711347 --3.086172556351517 --3.23232163863178 --3.7759843960006205 --4.75169588426456 --4.75169588426456 --4.75169588426456 --4.187459757067822 --4.399789748127272 --4.256019491194232 --4.287569220600995 --3.744065542619138 --3.744065542619138 --4.156985464359132 --3.3966523593882716 --2.584197105767964 --2.111987722143071 --2.111987722143071 --2.9126540172434856 --3.267106829903756 --3.994533780623497 --4.865591149621935 --3.9876043230942706 --4.006515399343025 --3.3306216860003444 --3.20426052731482 --2.5160965572826997 --1.8260664334155041 --1.8260664334155041 --1.272832478180502 --2.2101360694827523 --3.0259394611660477 --3.9599207335303195 --3.967040904592891 --3.682450614491995 --3.7697998272691366 --2.819605497697472 --2.819605497697472 --3.7012706714725194 --4.395915237534502 --5.041466332840569 --5.9209346593043 --5.688105926397441 --5.688105926397441 --6.635088002368293 --7.3848281616208125 --7.3848281616208125 --8.083066931632217 --8.403804440008761 --8.403804440008761 --8.960771361786843 --9.674369215021963 --8.918185460385779 --8.961441872798797 --9.046358120319233 --8.809181878488818 --8.809181878488818 --8.799520699274566 --9.155975028302414 --8.800449331166476 --8.233527221327584 --8.10224579128675 --7.145417874682862 --7.388154718409798 --7.071087650816862 --7.618958969097285 --7.608163948742392 --8.060673855219834 --7.1872395469540855 --6.273724056606517 --6.172879138027319 --5.369771792031672 --4.441790390246538 --5.395335413059041 --4.946607868972532 --4.629906816214975 --4.947332143010339 --5.435167642992356 --5.627061287262542 --5.627061287262542 --6.520201227331956 --6.26257125827053 --7.034960319203021 --6.164400716196338 --5.278769650526016 --5.354024620251223 --5.061870621657998 --5.061870621657998 --4.637017444552202 --5.378561354301953 --5.590257450860642 --4.779972133799245 --5.264809705546142 --4.279028088011076 --3.3641468034929147 --3.5984820781351803 --3.5329676315761196 --2.9473868765570774 --2.9473868765570774 --3.8153448422930847 --3.8153448422930847 --3.5283526661141824 --3.8566762532000918 --3.9431555801500835 --3.6627313395845316 --3.770947459949924 --3.346544095273602 --3.111713673758474 --3.937305346660585 --3.84748967456413 --2.971003059937151 --2.7352063728003557 --3.639285726220842 --3.2010547977676476 --3.35238241002336 --2.5000353059952465 --2.760962544538102 --2.8348595813969806 --3.8233353138081307 --3.663516305252892 --2.8500938665550857 --1.966229683699944 --1.5344894914226872 --1.3039353699380833 --1.7775022146476345 --0.8283743413186211 --0.8017260422307746 --0.6888264246539901 --0.4438221352740068 --0.8310337725909439 --1.044095186700404 --0.8245833356459407 --1.592157794915566 --2.2299546337194007 --2.867176649007955 --2.312925787219007 --2.121704434525988 --2.866534599936495 --2.5766534989014316 --2.5766534989014316 --2.2874738487950017 --2.4719591330671715 --2.1411995826499335 --2.125357076547399 --1.2743381952299753 --0.929984800779154 --0.904539183167862 --0.10263634327031235 --0.24458460801151516 -0.4159885631237471 -1.0604955403215968 -1.5307732865484571 -0.9393670416682147 -1.8394142593813407 -1.8616893478001884 -1.083077954398055 -0.39453626025241184 --0.5984888763253591 --1.5792940118899443 --2.3736228828091086 --2.0608693031475065 --2.097436687046449 --2.003857388456277 --1.983200622076196 --2.145969312089332 --2.868041925832059 --2.490448712474905 --1.6487249828415007 --1.415093013037802 --1.9058267362529744 --1.4598540076105821 +0.7864277628458096 +-0.10732638718443344 +0.26730972578293866 +1.0416142122295555 +1.0416142122295555 +0.8971808518969183 +0.8596971933789557 +0.7540827076212847 +-0.04055337528494973 +0.5384428198150201 +-0.450640019494842 +-1.0893564602911479 +-0.5354341857082823 +0.17376685073337472 +0.41313838289058324 +1.2179927104171009 +1.8824054359637774 +1.1541491168268558 +0.6703374342869791 +-0.21723835682992443 +0.23190597984493266 +0.1765448455878087 +0.6108862021009058 +-0.034189376152200524 +-0.2206099631830477 +-0.2653402283263868 +-0.9860615278319111 +-1.103609876757277 +-0.4911201825567719 +0.005127024338332342 +0.22928817264821033 +-0.7205080192378852 +0.26406567392944935 +0.8995415821065869 +1.6372506215341869 +2.331047801610237 +2.658922038910624 +2.4177015253193352 +1.7329854448763378 +1.7329854448763378 +1.1381326401860419 +1.9928299481051623 +2.9209706893571576 +2.946084394039019 +2.0150789834673475 +1.7664651419324717 +2.1806258853537557 +2.8369154151812594 +3.8285759512600728 +4.483641128695272 +4.109420692633886 +3.9465136819837814 +4.738960025939027 +3.8222065900416475 +4.4989726791710485 +4.881417815367037 +4.544889954068159 +4.865303604687496 +5.067351036348554 +4.316421209633011 +3.6653914306289153 +3.429127765432804 +3.0216013400788295 +3.5108490024454166 +3.0365565428495978 +2.53564548228882 +2.9389317567633606 +2.304687048920683 +2.0857004739203306 +1.9567481676150198 +1.8617494893350024 +1.2617532533891278 +0.7133943557064664 +0.21059769116638494 +1.0021004424022968 +1.3512956624607437 +1.085135501586966 +1.085135501586966 +1.4553214651080986 +0.8472953087653383 +1.6217706884556105 +0.7396876017524241 +1.075250792016094 +1.5180553112163637 +0.9368304094936533 +0.7977193421405927 +1.3909356456850515 +1.7709555850530851 +2.0954618196141857 +1.7566701358413326 +1.8752454159078378 +2.482717038081482 +2.482717038081482 +3.290056146574358 +3.2278490921276473 +3.2278490921276473 +3.862126454050625 +3.862126454050625 +3.9092060484077327 +3.9092060484077327 +3.9092060484077327 +3.306288123182921 +3.2672554715746362 +3.5956777453702164 +4.069689079799877 +4.091080440882453 +3.9948069141299563 +3.095115173441299 +2.8541947686733513 +1.9583218348376323 +2.057301077501521 +2.8196696706134343 +2.822093383016891 +2.715516836165321 +3.408873671339083 +3.4422443566681533 +4.424245287017417 +3.6603159911806675 +3.6603159911806675 +4.23892869832849 +5.094333979240753 +4.504506387425295 +5.36488975863175 +5.510812482375413 +6.228788373206491 +6.228788373206491 +6.228788373206491 +6.1189668920378315 +6.586514582848999 +6.208495844250048 +6.357712042914442 +5.3697982949775165 +5.422228301048314 +5.385228588549554 +5.385228588549554 +4.669876187259052 +4.218709271145978 +3.423472279632274 +3.7610882064685836 +4.693446523468373 +3.7785727935796456 +3.642117635784005 +3.564520564805639 +3.564520564805639 +3.9029331084280745 +3.4472508993455304 +3.6965326721370264 +4.695105418364486 +4.362809288256043 +4.355992342626632 +4.489420910944071 +4.489420910944071 +3.6412549993026797 +3.7328936321444948 +4.340994859062304 +4.045146485078676 +4.101108849297722 +4.918736214954811 +5.4397796693161755 +5.380108762792697 +4.426952362034529 +4.644099387361628 +3.940930981459851 +4.631367296485986 +4.568836808354547 +4.860822545047957 +3.91708492457266 +3.91199862510656 +3.3844122481853582 +2.5579662825961536 +1.6926298993340008 +1.1618785685605584 +1.2269078798844826 +1.9147771634082502 +2.2560889039750007 +1.8076797981746022 +1.8796068230746636 +2.0939162907021807 +2.964634693473778 +1.9943886530940298 +1.7840555623075103 +2.320622036501778 +1.4399738234490675 +2.1730446346495813 +2.334067346351909 +2.653403481680381 +2.653403481680381 +2.5863524905670485 +2.5863524905670485 +2.617288089156683 +2.617288089156683 +2.7855637678665848 +1.8347831339483849 +1.2148621121577023 +0.969477337205115 +0.7911718802135652 +1.009109133003775 +1.658007995603755 +2.035474767149606 +2.2188524133577436 +2.3682646238205702 +1.7536399981282502 +1.334958474607637 +2.078314769674269 +1.3422210359143498 +1.8090136378827033 +1.6638536248449851 +1.0220792143123574 +1.499101191220495 +0.9234675785812909 +1.2144422378920985 +1.7467390863987344 +1.9689768439267035 +1.9689768439267035 +2.937829938137557 +3.358177805457884 +3.046433888277352 +2.785548420042142 +2.6366200871099563 +2.733376357088165 +1.9861255852199247 +1.0751348126943925 +0.5007520804758399 +-0.18822792533630128 +-0.12560323520391292 +-0.008528339570713639 +-0.34558948402227585 +-0.5047330982864866 +-0.7434064835645778 +-0.7434064835645778 +-1.4744163014954084 +-1.853369351026522 +-2.1053871784351563 +-1.7969649039408964 +-1.7045006942376122 +-2.4626548886857864 +-1.5911595705235795 +-1.1371265247795799 +-0.610047668431116 +-0.016400146853225106 +0.4024216214471106 +0.574959191939594 +-0.3058999333222807 +0.19593850214988628 +-0.11362594346564026 +0.03629500025827348 +-0.7487357029904241 +-0.37799121820099535 +-0.568502589242093 +-0.10890152958928567 +-0.5172854487053383 +-0.07353015767525639 +-0.636604336739924 +-1.118183136747313 +-1.5723824548388974 +-1.2414386919850675 +-1.2414386919850675 +-0.7706702438224431 +-0.9626873730667985 +-0.9626873730667985 +-1.7615532524686888 +-1.8221565743396404 +-2.693678979333246 +-2.081208705785228 +-2.0519083733322927 +-1.7897288174036279 +-1.9390103702026096 +-1.9390103702026096 +-1.8748943185755649 +-2.3197496966378837 +-2.437402358810397 +-2.2539623631833177 +-1.2731895948485175 +-1.6653029598544746 +-0.7675840869315782 +-0.43843102706502224 +0.1534370262996776 +-0.08379012078249126 +-0.5658292287710807 +-1.156813882621619 +-2.051284124592851 +-2.051284124592851 +-2.569829498386401 +-3.3629359032583155 +-4.108801130480698 +-3.1956535119184797 +-3.115497591305897 +-2.792748244163032 +-2.6860705072950735 +-2.4185234689070043 +-1.4757799720146487 +-1.244789381647014 +-1.0061370063776105 +-1.5609256620547498 +-1.6875808748505534 +-1.480855083975626 +-1.4556015390713477 +-1.6306125524357094 +-2.052530944795378 +-1.847741428140986 +-1.3958839885484564 +-0.9900685048777134 +-1.956166785630867 +-1.563047240877981 +-0.8208897354487454 +-0.9883399275687398 +-0.16185442866028488 +-0.15914955346209247 +-0.2300637838844386 +0.739065145431389 +0.6962687129962043 +1.0764749367050683 +0.1760599752023695 +-0.6002678924415954 +-0.6881090260815649 +-0.044363096224708465 +0.6196351720554109 +0.92004054595418 +0.07087166421979074 +-0.9200983637733063 +-1.0279973535450606 +-1.3508913857461318 +-1.1225945883336574 +-0.326303436118619 +-0.326303436118619 +-0.22326373581887404 +-1.192394764325155 +-1.463197943713614 +-2.4398009511470145 +-2.3027305781177914 +-2.4143230602180417 +-2.4143230602180417 +-1.8607389697996104 +-2.4031709787193427 +-1.651715615229856 +-1.0748051497223698 +-0.6942851727919683 +-1.430590549417322 +-1.430590549417322 +-1.8515550110052494 +-1.0119725108883406 +-1.4515221168624235 +-1.0064142422365538 +-0.06467011303087267 +-0.7933714147992512 +-0.01651463481017723 +-0.7672448459179395 +-0.32564933209363534 +-0.7079220737447672 +-0.18961508754777456 +0.18147822587764806 +0.5275167409377243 +0.5275167409377243 +0.743092503867054 +0.25575809824041307 +0.2483355093033509 +-0.5114452212325628 +0.02420056065702536 +0.8151468088280526 +0.5671315739693552 +1.090984342471328 +1.9352243909243376 +1.355225269998968 +1.852389998247203 +2.7341025523873403 +1.9783096150272164 +1.786026062931633 +0.8714004205753227 +-0.08928643680778037 +-0.7206823104565119 +-0.05002714131298314 +0.1854590858374301 +-0.06477464283388101 +0.16604458463778105 +0.8224146277019454 +0.8224146277019454 +-0.1745933516833097 +-1.1547388146225397 +-0.35688392801316504 +-0.6254115600673534 +-0.07619306208988419 +-0.8172359810660997 +-0.2280200007997285 +0.48482160695595045 +0.4774457875261964 +1.4126412148039942 +0.5235996817808861 +-0.06465894675245676 +0.8493218489026104 +0.9175123863917412 +1.054273391440624 +0.4760451215100072 +0.3347169649627356 +-0.5766683191085867 +-1.220865327500701 +-0.5704348812590985 +0.02288845732520106 +0.4841066775687657 +0.4841066775687657 +-0.025971760167257996 +0.2891692552130014 +0.3670677235624218 +-0.13299164489270887 +0.011761485455440868 +0.8076666193930502 +0.6790660165478472 +0.7471752611360939 +0.5591751224252437 +0.23844390654499337 +-0.5638291356650066 +-1.1807853925210807 +-1.2355717880018466 +-1.9900078093123574 +-1.0664865348658492 +-0.4616030247970555 +0.12909064375842205 +0.9067152114198682 +1.414306341909814 +0.8075024205496555 +1.0373775844847366 +1.693591640798202 +0.7595015058760468 +0.7242083913717668 +0.12487850151664082 +-0.04945592843418978 +-0.8759298936609103 +-0.15786859913629114 +0.338932025600323 +0.8627019348254996 +-0.037805801619936075 +0.7667887677786613 +1.2261116763357118 +0.49951598559807375 +-0.39703178957486496 +0.49411035939661785 +0.6156163638273979 +0.23859682858551168 +0.17202300106339452 +-0.5278729548874628 +-1.1921033500726181 +-0.5917897631755675 +-0.7489485489289619 +-0.30925419101528806 +-0.30925419101528806 +-0.6624432936064426 +-0.3680599141789116 +-0.9593995283201808 +-0.39235145192600274 +0.06410414430443545 +-0.3713657415355224 +-0.6512736566262474 +-0.3696535532479215 +-0.417331913567769 +-0.8560825122228355 +-1.1779457072168302 +-0.7680297998169887 +-0.3895069169907277 +-0.6879302624655707 +-1.3752215112491433 +-1.6518579002266627 +-1.3168241991583554 +-0.6843139802266116 +-0.3305909196679997 +0.0779581199584316 +0.39205832874736624 +-0.0006196469353071388 +-0.6936556213033495 +-0.07764507692600853 +-0.5417227464296392 +-0.5330432905888915 +-0.029563961567407038 +-0.8330094923549054 +-1.2690884590784623 +-1.8854233235963416 +-1.2511782122105837 +-1.6939827655251714 +-0.7295281260995163 +-1.0695448386418787 +-1.2197617746908311 +-0.3870809552961967 +0.42692969298894967 +0.39150287581443355 +-0.5157647343391444 +0.38983194521440157 +0.8788549788241148 +0.5721755729527092 +1.534341682247834 +2.1592609515003263 +2.1099364008823573 +1.5517617951016962 +2.217352547127472 +1.8254702469650037 +1.7478439609319167 +1.7630206963635084 +1.7563590951704007 +1.2017674527153723 +1.9212450332754842 +1.3850332308225863 +1.7167150494690018 +2.396815523049021 +1.8450887522671249 +1.7302092229748238 +1.599796004234502 +0.9927737985038307 +0.18219270346241334 +-0.335060951930759 +-0.18579629787477892 +-0.9906457103147024 +-1.0189166660386957 +-1.3413692730310243 +-1.1914961269397952 +-0.2565160049251858 +0.5588332413957986 +0.4837119957149788 +-0.26921205301762174 +-0.7059672797143219 +-1.4123226953455832 +-0.5125482278362179 +-0.6489856528199401 +-0.5705442466209995 +-0.9225655877000054 +-1.1276545294843072 +-0.672959970247061 +0.17459978427386091 +-0.1770770576115951 +0.32735766975634994 +1.1781562747729937 +1.8564630975003165 +1.3855950483041397 +1.9435543821183117 +1.2180205482833462 +0.9318630411132592 +1.3862664356433547 +0.41896349740765704 +0.020918743544210305 +0.5779612626853999 +1.565814414022411 +1.8425742844005586 +1.2274840509502012 +1.970648398670913 +2.5549946730109943 +2.556642956135388 +2.9829695952882007 +3.2842256260202447 +3.0361614653869373 +3.3822059898277654 +3.50064550038595 +2.5786339845501756 +3.310803694800498 +3.596190261805199 +2.7340639612849538 +1.9939517127271547 +1.9018857668209401 +1.0887662644389133 +1.049384256310066 +0.7369733543677174 +1.305428551663792 +1.9269512914291547 +1.807096221744001 +2.3663859578984825 +1.9594650561653641 +1.7438013908127434 +2.2848343176706436 +1.8335290659324 +0.949649049285912 +0.9949340018884099 +0.9949340018884099 +0.8690905233507703 +1.7892445308674296 +2.1976782255247387 +1.6437205137850528 +2.2692746406568323 +1.681748579380255 +0.9885255114962244 +1.0645127452088876 +0.6503374518739434 +1.1693780050115952 +1.1693780050115952 +2.071454456994325 +2.2532567146062563 +2.2784381836752625 +1.8007764057933917 +1.4705078007631562 +0.7566269073466025 +-0.11619037824824718 +0.6105655223751503 +1.5333428724687972 +0.7701620107296603 +1.1632504477307803 +1.1468042800583835 +0.41425346568984844 +-0.18858119371145565 +0.5153993657756273 +0.3601233122617008 +0.3601233122617008 +0.15752282797090267 +0.7095179848934352 +0.42843580231584333 +0.5356499063530923 +-0.20008273330742654 +-0.963244573911448 +-0.8704894308973842 +-0.5159666512428994 +-1.022978009869199 +-1.4492257000658384 +-1.9647611364272544 +-1.9647611364272544 +-2.3654281830612933 +-1.7462575394996163 +-1.3329088663413682 +-1.3135938690869895 +-1.4386770361206334 +-1.755416111563921 +-2.4284414549985636 +-1.6436413356720483 +-0.803838559981652 +-0.8827183526777179 +-1.0588267257968385 +-1.0335934225733168 +-0.6794362715248528 +0.044746640490902045 +-0.4148448986704415 +-1.0232856658003358 +-1.0232856658003358 +-1.4161745956272704 +-0.6856403917411678 +0.13563222422814425 +0.4791515196673073 +1.233492913562306 +1.043259381747319 +0.47092314158077064 +0.01886427492273135 +-0.8138579241956859 +-0.878401394725344 +-1.5025640643921097 +-0.7494468545034225 +-1.3778560214049242 +-1.3778560214049242 +-0.6060917602362457 +0.2800980765086343 +0.3075565754730063 +0.8817546092707278 +0.5670572105713217 +0.08897284729247557 +-0.37319055895877307 +-0.6730922616422648 +-0.9103169214308983 +-1.2527185618327819 +-1.7497182722667803 +-1.0744688119861223 +-0.9032479312001314 +-1.5178565014012446 +-1.9698908054509876 +-1.595884385316683 +-0.798372226781664 +-0.5156739033022897 +0.034750875869792974 +-0.6766974885649046 +0.2648099683021603 +-0.4220259922635248 +-0.875145808224136 +0.0329973913117273 +0.9059487005176609 +1.2584574973665528 +0.983689633688465 +0.5559585800746554 +-0.24482117479091126 +-0.8827709089750575 +-1.2181409306892683 +-0.6263788262321575 +-0.6322844588480886 +-1.450776631990463 +-1.137936923744097 +-1.2075568054209298 +-1.7522596089529954 +-2.698941806416049 +-2.5538684510870535 +-2.9205987664584754 +-2.5216998854728336 +-2.3542043558600216 +-2.544352185014303 +-2.0682730622522216 +-2.5759269388326302 +-2.0566828352127082 +-2.26483068243734 +-1.4926682087736518 +-0.5226030771404087 +-0.3075704781047617 +-0.6533862423664768 +-0.6884220054737835 +-0.9410875515749969 +-0.9410875515749969 +-0.9095001524452743 +-1.9000065894982403 +-1.349553218508395 +-2.1999603231235607 +-3.090582408781046 +-2.1846753856388426 +-1.9606461694050887 +-0.9764958944049833 +-1.9491868713479052 +-1.6834211866707753 +-1.4461020172860783 +-1.297393221498363 +-1.942074364547663 +-2.225930631451983 +-2.144995583630368 +-3.010803820692048 +-3.8206425333365868 +-3.3744872413845215 +-3.685010072383932 +-3.9273029389041016 +-3.1891383073221524 +-2.870488805301722 +-3.3496884563086873 +-4.334575472446047 +-3.8322525820667206 +-3.982799890949019 +-3.982799890949019 +-4.9292690945872435 +-3.9675104568383377 +-4.0034597531058616 +-3.1649624504168417 +-2.596436873965511 +-1.9848073236976425 +-1.4119051321486367 +-1.0771845758353435 +-1.1721651468571501 +-2.1684000370827228 +-1.925830111007523 +-0.9826797713329292 +-0.1509821414529917 +-0.8496692998033599 +-0.22887977260237724 +0.23537087658998668 +0.563896454625415 +0.7201665905925423 +0.6739453537203995 +0.8735021931851886 +0.26133309239515323 +0.06303684316337033 +0.3858195802373672 +0.7940130032980142 +0.41058132739377695 +0.8857231653364047 +1.2622429244643945 +1.2229275425558233 +1.5626025818737506 +0.7009131338071117 +0.06456999368838212 +-0.020772295817130693 +-0.6001752038617222 +0.3056424717782308 +1.0549343202938593 +0.16709554728041187 +0.6112656617565868 +1.3465932630048876 +1.7600383120561351 +1.7020079387085474 +2.0484525513977387 +2.0484525513977387 +2.7615745456560736 +1.7861587418891736 +1.4815172612803318 +1.274928461392646 +1.3654039969484077 +2.1427620627418813 +2.655253402185078 +2.2648468326853286 +1.7205592603422364 +2.1852492723822916 +2.9605793445166744 +2.9605793445166744 +2.363806132092597 +2.613635737186844 +2.9513580670801716 +3.595804028888188 +3.861742550931092 +4.427726866342916 +3.804704808201487 +3.3401815721797923 +4.107453460410249 +4.260504963463035 +5.145611764683202 +5.980166339426866 +6.92394699533227 +6.70807086379746 +6.7062459271533506 +5.799634001186526 +5.799634001186526 +5.09532024203304 +5.4247737909113765 +4.9724124287607 +4.119816634203858 +3.7584537152773905 +2.970265759807772 +3.31944689185024 +3.2854599542452076 +2.375850498203496 +1.7899748182479136 +1.6570023141071712 +1.1327842217571291 +1.9271347836131756 +2.803501056648196 +2.803501056648196 +3.3587726584517874 +3.4594669223983443 +4.434679466392666 +3.901468800613065 +4.802046296847597 +5.222578184446916 +5.222578184446916 +5.97744496469296 +6.779239207470396 +7.715938242785142 +7.5818017471443895 +7.5818017471443895 +7.214979505294771 +7.214979505294771 +7.519129189574855 +7.519129189574855 +7.556489730088682 +7.556489730088682 +8.113863445130963 +7.689615831180399 +8.600330886897424 +7.690167499113581 +6.916908094363255 +6.916908094363255 +6.656409461640728 +6.678533508821546 +7.59001157127382 +7.138327573544595 +6.8303905864888 +7.326411577679379 +7.326411577679379 +7.326411577679379 +6.613465286387127 +7.453590254047137 +6.6931197139798675 +6.1249891082246855 +5.7724856978628605 +5.665731488955399 +4.781082014504252 +4.819978756893313 +3.837460270534559 +4.5914165929075414 +5.463896175776571 +6.1356740621635595 +6.722638233018337 +6.390183483077402 +5.460739208136438 +5.271252064176377 +5.271252064176377 +5.3631054527992745 +5.486994916681943 +6.130791486768251 +6.130791486768251 +6.914830552937618 +6.365680666559788 +5.46964689868349 +5.948990516322854 +5.451526669515377 +4.467024435432968 +5.395579463303478 +4.661330450002637 +3.6917308396865494 +3.1246668512512947 +2.9129460913732634 +2.0773471725372654 +2.9665596094892672 +2.4071519172519626 +1.890148041141781 +1.7001578207968597 +1.497210454192777 +1.3669344291056627 +1.3669344291056627 +1.6175444169027418 +1.0433577222456634 +0.19892349855978408 +0.8551233705929233 +0.8020183036515299 +0.17588547491136708 +0.1771200475579956 +0.8888987631783972 +1.3722110533565575 +2.165803288025411 +1.2210718289424662 +0.9289455114545567 +0.200599086322517 +0.7633895359105299 +1.204549162410347 +1.5223547861875042 +0.8480774942978009 +0.160264868485394 +0.08864978854763905 +-0.4465292736909757 +0.48398749038193734 +-0.20521812434416076 +-0.2688740468281581 +0.5238697014885803 +0.5238697014885803 +-0.15543812921216715 +-0.1980739378955093 +0.02133056430001623 +-0.668574462714972 +-0.6551497654930075 +0.10291460975207711 +-0.17484476439978636 +-0.9758750508930665 +-0.5486704850874393 +-0.1891395465129284 +-0.5242791509698396 +-0.1453725329250729 +0.5929938220039882 +1.2038077589927183 +0.3856618456541725 +0.6434029739465501 +0.13621863675910362 +0.1018447611343073 +0.093017665549882 +0.7863636809947006 +1.2737445632321154 +1.9131191047197529 +1.8013407980892389 +2.398431835354084 +2.437481787297468 +3.3408191391967823 +3.3408191391967823 +2.746647608331065 +3.0010085619578564 +3.060592034575997 +2.0691998785748726 +2.557585400481132 +1.5742754940354837 +2.0428380585103807 +1.17320028757208 +0.3240210839832114 +0.739651376734874 +0.3008460190444574 +-0.3498801697987949 +-0.920166100968217 +-1.8237001425029877 +-2.711203566325576 +-3.1394327415952032 +-2.8587778357478992 +-2.33135038984465 +-2.1957412859458474 +-3.1860406124970453 +-3.1406588785850795 +-2.2169959499156855 +-1.7297060923054286 +-1.4602928157812762 +-1.8448782277088798 +-2.068214102118501 +-2.0897931158019403 +-1.4515752843927772 +-0.8931770285860618 +-0.7982211772103416 +-0.9540141066069258 +-1.3261620156663512 +-0.8727725211388448 +-1.5589892310716729 +-1.8874527505158345 +-2.0798105560610947 +-1.4573829891235401 +-1.2974491676543825 +-0.5539443527759236 +0.3588866045329082 +0.4974218095765639 +0.4375374867779459 +-0.4958588883963314 +-1.4601432845191717 +-1.4601432845191717 +-1.9989903711312047 +-1.9989903711312047 +-1.4055536746951425 +-1.7198279193270447 +-2.6432137193840264 +-2.9216866704305278 +-2.2382850394204237 +-2.20632490342978 +-3.1228284704051785 +-2.5278634619845897 +-1.7892746622901605 +-2.204593403498506 +-2.9665755284498028 +-2.019445280524831 +-1.5102175830338866 +-1.9272413373284625 +-1.6733515292844863 +-1.8564657126083288 +-1.7486507196675074 +-1.117492376063994 +-0.8534271206724402 +-1.4670081941342958 +-1.4450947032659072 +-1.4450947032659072 +-0.9919487987556603 +-1.835334210283297 +-1.4336718445519463 +-1.3144981713988413 +-1.5739184078683657 +-1.841689781913598 +-1.5693323137180935 +-1.2634896591338003 +-2.096878272717672 +-2.623945198965015 +-3.4588795318087406 +-3.2025472027865316 +-2.909874072893577 +-3.2745988656779232 +-3.360724913309146 +-2.6677063009716684 +-2.1724872435943388 +-2.3527048926928447 +-3.0443136768447516 +-3.3205765166076517 +-3.4395275038045705 +-2.5285245029205 +-3.460349246118052 +-2.7034383318459083 +-1.7301646847188668 +-2.705920530797762 +-2.7422319065841054 +-3.028802806954872 +-2.904520778000288 +-2.301339477754366 +-1.5155085246622708 +-1.4556385544476207 +-0.7642964921002358 +-1.1368087736773052 +-1.1605186449087195 +-0.1808284232137447 +-0.34362259435010023 +0.10906205044611406 +0.7243138359574935 +0.8454114888937266 +1.1301339885345354 +1.0000605288214004 +0.9650871079061186 +0.40956116761421624 +-0.11738591599223647 +-0.7985921608924299 +0.09218766271508538 +0.5590234005844089 +0.7666148810172521 +0.7451760574771304 +1.246563207073541 +0.6407903306151903 +-0.2618696272769414 +-0.6681468000700742 +-0.8086394694812888 +-0.6524099554749343 +0.20072582516458892 +-0.4343961927947644 +0.3003059659992704 +-0.5112304077960723 +-1.2941567985510258 +-1.6667026174951585 +-1.4566265737262887 +-0.5667584284623524 +0.0071396199531930105 +-0.0511103168866488 +-1.02852236378645 +-1.123067062142583 +-1.2596471785919343 +-1.669306515444152 +-1.4971206989075787 +-1.2511106415336937 +-0.39196629866282184 +-1.3748604660766681 +-0.9925061271659144 +-0.3467141650297001 +-0.3792041716351414 +-0.37143866279613735 +0.03349000054056128 +0.43741009074678894 +0.5833558240955298 +-0.09619608673982316 +-1.0211135169813281 +-1.3153648741219919 +-0.860068506225546 +0.04103638214687333 +0.006032521973665772 +0.2551340202268394 +0.8631731803561681 +1.5151744650906935 +2.366170718008216 +2.07917968496376 +1.761141365092164 +2.24822297427208 +2.2851873428191833 +2.190050304377519 +1.2995572513997353 +1.4940331283241448 +2.07428645074708 +2.07428645074708 +3.0711543398277557 +3.0711543398277557 +3.693385056036129 +3.2978513732121186 +2.7554865544438876 +2.7554865544438876 +2.210938852565455 +2.1895872094722058 +1.7463439362528184 +2.237307927002405 +2.237307927002405 +1.4034758271683851 +0.4775848980937858 +-0.31685164979798897 +-0.5222344243532363 +-0.447118744156645 +-0.9328740144774614 +-0.3659926819183281 +-0.9808716459916766 +-1.7881552043356272 +-1.0666246091339429 +-1.8552143908606833 +-2.1250048606106238 +-2.031907321370526 +-1.0975786487902897 +-1.1479601325334343 +-0.36357900974163915 +-1.1716695282250444 +-0.7007060398935274 +-0.9831164641928204 +-0.041018180207193944 +0.06076410561696177 +-0.004931692873844318 +0.5720573221081862 +0.8564412771408516 +1.0134266915529826 +0.5268772987393217 +0.7921317622623553 +1.5258250236449018 +1.357773035998083 +0.43505195707399724 +0.43505195707399724 +0.3936973627671617 +-0.06107315659207746 +0.5921918191936413 +1.0654901532688248 +1.6091456543458647 +1.2928398940142238 +0.8785921232760724 +0.3011120547259293 +1.24185883950579 +1.24185883950579 +0.6499576482945932 +0.8594596301266819 +0.6069351629521197 +0.2013656495646603 +-0.4602575668076545 +-0.18705073966576768 +-0.2690917054323513 +0.04708216920508279 +0.7268226703042521 +-0.1425776269637461 +0.840083155364525 +1.764743363305334 +1.764743363305334 +2.178961431508438 +2.712077601751956 +2.37041533889353 +3.11989832094528 +3.1741758185724542 +2.3163098926832744 +2.897228988726581 +3.284826307913646 +2.5868583969623593 +2.0994200463726855 +2.0124487413684102 +2.2072258378590446 +1.7242800375418295 +1.8956278036691752 +1.5107680495372051 +0.650027667690281 +0.6938930391120777 +1.4659908268775734 +1.1030568099674656 +1.2791515022310749 +1.5642237474027152 +2.423078875344025 +3.120259389118635 +2.9871192423904933 +2.9871192423904933 +3.2405206596832987 +3.361732699067278 +2.7137127487954977 +2.151617077282902 +1.8357183351953417 +1.443637177764495 +2.2977093667913295 +1.3847024993164714 +0.4205666795554035 +0.9228330664756612 +0.40322560143048314 +0.31501305800839574 +0.48963732881495725 +-0.02205126225616183 +-0.571527133117819 +-0.9894167015390649 +-0.254688586625313 +0.5362994095490379 +0.00479520281715673 +-0.3291413386105061 +0.4121029029792841 +0.737341107908346 +-0.006343817273967489 +0.7823595249793683 +1.1242094627647155 +1.0827458454983376 +1.232152720956241 +1.1945993051182278 +1.677833746722638 +0.9076596692774188 +0.9297435320876928 +0.7960664257836284 +0.4353931352901319 +1.2160916892074862 +0.34536413547827594 +-0.10925629407863535 +-1.0906234244293191 +-1.9185817591321823 +-1.8298199721881099 +-1.0400774277409823 +-0.5179459819350538 +-0.1846260783880338 +0.6036804341241129 +0.6306741126001298 +0.2627631561100413 +-0.6650813524415903 +-0.9048078313322656 +0.027303000958549317 +-0.5209041581334748 +0.1629796312866465 +-0.24989877345729272 +-1.102176472567439 +-0.8082177635189054 +-1.3705738465153987 +-1.3522838523445528 +-1.4524527737702773 +-1.1433482104654644 +-1.2892279128001394 +-1.1895607820078369 +-1.1895607820078369 +-1.7315716680416173 +-2.439617430359788 +-2.439617430359788 +-1.8976171540433642 +-1.8976171540433642 +-0.9366357929323124 +-1.1766134486155493 +-2.031702271481495 +-1.3288756386253104 +-0.6107791024987386 +0.07575250693321123 +0.1994356831570394 +1.045475437744801 +0.1364588721739557 +0.5969523044641172 +0.17802265476956303 +-0.6341635282297774 +-1.2673638694343379 +-0.3133483952691609 +0.03340978948163498 +0.18178733436105254 +0.6372313039116242 +0.7203309285434447 +-0.08835265311220564 +0.26027633500960023 +-0.26244328505804027 +-0.0484136574658065 +0.12744431118327304 +0.2708204625052253 +0.0784626779151184 +0.42350301159483295 +1.2990662626863148 +1.2398198344890417 +1.4227628381533564 +2.3431067010736735 +1.523618507212288 +1.012370215442098 +0.7978055597440211 +0.4822946549870606 +1.380570276557399 +1.1570229632770976 +1.8660576668110012 +2.703667879994712 +2.703667879994712 +2.703667879994712 +2.1422279716715025 +2.312426835543186 +1.373402108462367 +1.373402108462367 +2.268182653458961 +1.59852987662129 +2.5865843664706745 +2.2513340187507387 +2.292389425056646 +2.4647733143021906 +1.6913605100499518 +1.4626326960734 +1.4626326960734 +1.6999593879113275 +1.0096520207954185 +0.3678817319107861 +0.3678817319107861 +0.8245135679870113 +1.68621224226517 +2.2902022560302506 +2.6752638945793157 +3.1076535649673924 +2.3585001344709093 +1.4826251120829739 +1.4956858421841217 +0.6134518184371702 +0.2021604184249638 +1.1432792172480735 +0.4763414181188166 +1.2903976716360546 +2.2373985636364426 +1.4662427036771037 +2.036832167507127 +2.6767600903156445 +3.5347199747030107 +2.6250515588021353 +2.6250515588021353 +1.8951681405022027 +2.7013101597624933 +2.5603013936602084 +1.8618175674121349 +2.6972788748515226 +2.0074513932175115 +2.5720521077146987 +2.5720521077146987 +3.4127669198155686 +2.9348859829436518 +2.686693311019919 +2.1215979458594534 +2.6228301717326223 +2.9497087762174887 +2.3200929520559876 +1.3674545141154362 +0.8834481162098266 +1.1696376546340561 +1.1254323747771622 +0.21920680031161566 +1.0413935633678078 +0.7213082458284533 +0.9970666115045527 +0.35539767878257933 +0.2907995709865716 +0.07998048362080412 +-0.2628722682276825 +-0.14984667768768278 +0.5528310909974925 +1.5250996894991393 +1.1631521344675164 +1.0474734800733172 +0.11690114356499826 +-0.4803517592362909 +-0.6139447816930746 +-0.5827496672876645 +-0.9769225291074832 +-1.3694775215593231 +-0.6004584648460229 +0.2009336146421712 +-0.0053780318715693776 +-0.25721845798512355 +-0.5867901436575135 +-1.0594313115934315 +-0.6150273719119712 +-1.5729038065235437 +-1.6268729106432267 +-1.4055107127137583 +-1.80776452353158 +-1.80776452353158 +-1.0837170154253124 +-1.8150275620968186 +-1.7671346471615628 +-1.507094305221007 +-0.6108086536562498 +-0.9156382535666824 +-1.1481654787353655 +-1.2681535656478689 +-0.3004687901907206 +-1.2058771630522558 +-1.307580595364065 +-0.8060336405954518 +-0.8060336405954518 +-0.7797768861119059 +-0.47246541738025605 +-1.12392602822073 +-0.6387545216455122 +-0.2144035751651805 +0.21103732482224924 +1.0416338113833585 +1.6627472205565357 +1.0264568702492447 +0.7884447277295844 +0.25077483578576387 +-0.22116300635049213 +-0.013408436855376404 +-0.4920504140533485 +-1.304584537529577 +-0.7376074207152219 +-0.6866226720504804 +-1.618051557885602 +-2.192905587490534 +-1.7156358619537353 +-1.7156358619537353 +-2.5191598066448164 +-2.4396435807462304 +-1.9150566408989533 +-2.6441480705094875 +-2.0162500493434 +-1.105140962854821 +-1.9399758107799054 +-1.852860163566637 +-2.177955537640943 +-1.6952033507382596 +-2.142698187878388 +-1.8642422217486652 +-1.9502485266824139 +-2.2665728607438598 +-2.752387116690716 +-2.6790704572969113 +-3.060716727974528 +-3.718442060245322 +-2.9306816277708143 +-3.3275856052670063 +-3.3275856052670063 +-2.937941476048366 +-2.937941476048366 +-1.9893861796021797 +-2.415668699941624 +-2.1640430074136185 +-2.2551868729969886 +-1.3983421250355308 +-1.6365088615577807 +-0.6397319636124359 +-1.4839839862256388 +-0.5240542209875878 +-0.5240542209875878 +-1.271676276782534 +-1.3871161558104075 +-1.972085831936758 +-1.972085831936758 +-1.9984114007097826 +-1.7904067820210432 +-2.774349803862205 +-3.3712801635298018 +-3.1624744598112375 +-3.8323477284488194 +-2.8936029738023565 +-3.8817380220144164 +-3.8817380220144164 +-3.0882365618547225 +-2.341404816001517 +-1.5470945326613403 +-1.511051085250382 +-0.756775059267965 +-0.756775059267965 +-1.2675016994999264 +-2.258836099900543 +-2.533296833368904 +-2.665838631161653 +-1.9554671343671572 +-2.0353405941501266 +-1.3132881721259269 +-1.1620020134963198 +-1.1620020134963198 +-1.994963061509477 +-2.332021475915785 +-2.83989424492544 +-2.619012169278461 +-2.7254100357615405 +-3.065735073512453 +-2.440132137145783 +-1.990754752493872 +-1.990754752493872 +-1.7229420505005575 +-2.4330739108571207 +-2.6680506465593634 +-1.7000710106796868 +-1.8637724903941826 +-1.012567469253058 +-0.8655100664204471 +-0.47985005006772763 +0.06683894310101013 +0.9999871265681026 +1.644458554007802 +1.2022897896447207 +0.2934045170294559 +0.35646704927481676 +0.29286355492209093 +0.9087627790087446 +0.9087627790087446 +0.023570123086848915 +0.1701761835827299 +-0.7476246351698527 +-0.7476246351698527 +-1.3962757776514794 +-2.0017722474853907 +-1.3432584064748412 +-1.2425827523291963 +-0.9377991745333218 +-1.3581768602830837 +-2.127445900582118 +-1.5254281206777096 +-1.650867067467071 +-1.650867067467071 +-1.9951215666754654 +-2.8495351121196655 +-3.690963170311308 +-2.736926744177894 +-2.6555868038781307 +-3.296822845703584 +-3.296822845703584 +-2.520039228027199 +-3.3152328751344156 +-2.508874000960623 +-3.237345593700253 +-3.1866380857876666 +-3.8237150628432217 +-3.8826604626870886 +-3.662885653852805 +-4.6516941303740635 +-3.703956924271332 +-3.7160878090684997 +-4.178679855064223 +-3.6185581224791843 +-2.7428963948313765 +-3.22033993574696 +-3.040152346686847 +-2.888620514268083 +-1.9160056981836482 +-2.6702323173185265 +-1.7488061511746706 +-1.036938809761937 +-1.4326135843044998 +-1.8585395345777087 +-2.239006810679796 +-2.3942537679823452 +-2.8497343365981394 +-2.8497343365981394 +-3.359715245193756 +-2.57184470534951 +-2.57184470534951 +-2.3793118421856705 +-2.3793118421856705 +-1.8871179565849705 +-1.7106308175703067 +-0.7769947824494787 +0.19070706535944248 +-0.6544574601902249 +0.2469673877727121 +-0.422750356587434 +0.17621735254673587 +-0.03797420032096388 +0.41166175646165615 +1.2792147994464003 +0.5695350761211162 +0.9503232916176165 +0.46093263213449986 +-0.32508181794338176 +0.3237787487809559 +0.7590138737080737 +0.4405363463368377 +-0.05163507837459014 +0.4811069265066069 +-0.011814908821307313 +-0.34882114124819774 +-0.0982289046840289 +-0.27731229731071694 +-0.4524539604724934 +-0.09693019464725638 +-0.9086321995264276 +-0.8159091015610255 +-1.1983045668969086 +-1.1983045668969086 +-1.276111683852065 +-1.1427883015247173 +-0.8635812462748376 +-0.2047175296430701 +0.00483707652622245 +0.6801290410776288 +0.6236055786885332 +0.7331864073270792 +0.8502021161875984 +1.102890644863825 +0.2576228519937511 +-0.15350831388015795 +-0.2453536380112613 +-0.6341144696774491 +0.15787565519337476 +-0.28698176517196416 +-0.18464275951413978 +0.704137604853079 +-0.06080075534374774 +0.9196404576684256 +1.0194259499531626 +0.3430883204908006 +0.5901573104159297 +1.3507793251742803 +1.4457235241044626 +1.4739708439897012 +0.7047088538073132 +0.017004948633840833 +-0.44325614366580457 +0.3996108330625875 +-0.4464748936214781 +-1.0764801644499284 +-0.5549735122813961 +-1.0670400338169543 +-1.6345373148525015 +-1.530970400397745 +-0.8967463249775824 +-0.6880838461971268 +-0.8777399645738396 +-0.8777399645738396 +-1.0401047365682365 +-0.80337527004014 +-0.058424840511210885 +-0.05700124924978067 +0.36399565546854173 +0.5041405058212463 +-0.021948418436962935 +-0.929995213493749 +-0.268012817027123 +0.13605919123354182 +0.13605919123354182 +-0.8041915025877393 +0.15845488327761093 +-0.6863366757925102 +0.08863095368920848 +-0.4254676434987079 +0.03496804896175143 +-0.3362017896175883 +0.4773691030591206 +0.021795284053588437 +0.3144988682304968 +-0.12767786307101792 +-0.9327600593514035 +-1.012093530304001 +-1.720307384764594 +-1.8204649940006958 +-1.341782232845711 +-0.37615080535324363 +-1.2925293417409918 +-2.1516967112120033 +-2.680941401178761 +-2.3601598233024985 +-3.0509998251753814 +-2.2422958653186487 +-1.3245273844930014 +-1.4879113690730903 +-1.2968544478245587 +-2.287296071859852 +-1.3115629852681752 +-1.265832216946416 +-1.2161170779109742 +-0.3634333993442911 +-0.5469643911661081 +0.3000074733474237 +0.22351486446349678 +0.10907162412158555 +0.10907162412158555 +-0.07018647364337793 +-0.010541993076274236 +0.18382072126347992 +0.5410370751581097 +-0.2207610893597698 +-1.0862101743474506 +-1.7819993481182057 +-0.9470660384684217 +0.0025735501713397557 +0.3599179174039513 +-0.030477100475763685 +0.14958980281562828 +-0.37968260711244983 +-0.26759584886235277 +0.22683967928483917 +0.57625329122909 +0.57625329122909 +1.0607745327317892 +1.184307281342475 +1.0052367127647726 +0.8938540359439414 +0.038755017204861075 +-0.37956905505491045 +-1.2586119645664282 +-1.4548588021281699 +-2.1710300575559454 +-1.2824093783931516 +-0.6608191069725624 +-1.015276842860851 +-0.46098121050259855 +0.1673009413055 +-0.5271270365681828 +-0.6481168361772848 +-1.1075296485161263 +-0.9225357616550198 +-0.5748058101339892 +-0.6168029757135495 +-1.476949047944483 +-1.2987825473751975 +-0.5672351281365506 +-1.5015222600772786 +-1.1646437905083067 +-1.219512093432261 +-0.38209118869099457 +-0.38209118869099457 +-0.4337288784373806 +0.2094638732327797 +1.1521711389098042 +0.42677001877908927 +-0.4548825179318001 +-1.3167422069585795 +-1.2658816971344578 +-1.3341656186770843 +-0.7405419646409412 +-0.7405419646409412 +-0.19321929767453416 +-0.03498327343347052 +0.15868465082990224 +0.28484034718792595 +1.2626796108674028 +1.676328076499741 +2.4701692971407345 +2.4701692971407345 +2.0505896065252176 +1.4790209190128858 +1.8816902833972082 +2.1681368091185282 +1.725056027537264 +2.2034589220724228 +2.210081877058243 +3.1431122470571067 +2.1948403597195707 +2.5095342001599352 +2.257727013247711 +3.2267401034860814 +4.201886063168222 +4.64929644341587 +4.822329101478145 +4.822329101478145 +4.157012009585959 +4.184034665743503 +4.253684696079549 +4.9386115623264875 +4.9386115623264875 +4.495796092667748 +5.188324591228848 +5.09341380578034 +4.756490770479385 +5.287189373295657 +4.4183616314144665 +5.17573953657174 +5.880700640998264 +5.45780268427789 +4.776174518408128 +4.776174518408128 +3.82878574055087 +4.827702237094541 +3.8976691625075244 +3.0576182908145384 +3.8266354074710804 +2.8290228669176605 +2.428994372153379 +3.0543513718620465 +2.9028567463128616 +2.6448922160362223 +2.5017941714150074 +2.061990307918722 +1.534612456486013 +1.9231658365017437 +2.6261323943869153 +2.906100534667155 +3.6068657885051554 +2.77491801297938 +2.0757187383710427 +2.0703583801889636 +1.5417450918428122 +1.0740664623919445 +0.4901030822487924 +-0.3173559580143104 +-0.26202251829213385 +0.03110278674021738 +0.6479370030084315 +0.8287110027161277 +0.5087922402471946 +-0.19613259147702122 +0.7706912515373793 +0.7499287719190362 +1.503636668481762 +1.971730339303285 +2.0100152541868948 +2.650294779485722 +2.4489898241651957 +2.013025306819668 +2.6069742785176553 +2.6069742785176553 +3.276008773810487 +3.5120799046865523 +3.936049205817095 +4.397870262283687 +3.781720659575033 +3.781720659575033 +4.577755916216956 +4.237021976375843 +5.1788791243945855 +5.928177643573405 +5.928177643573405 +6.724256384693562 +6.724256384693562 +6.724256384693562 +6.661067472593308 +6.661067472593308 +5.749263271244196 +5.1867606222536 +5.895998950263276 +5.198101178825997 +5.613410232896674 +5.720388184819317 +5.892130052366102 +6.804454141727595 +7.540003334544088 +6.550893393320285 +6.100128696547632 +6.505927525417656 +6.418647598389035 +5.958041485455901 +5.5321669229111805 +4.6699230879831415 +3.7682317412669164 +3.682745617567218 +4.1372241527599956 +3.429648718479939 +2.74208085703544 +3.3226805945744124 +3.114958691050454 +2.260118618166601 +1.3622620280686928 +1.3622620280686928 +1.1134287357767616 +0.2719265983358914 +-0.6166743834384656 +0.04742419795738928 +0.6517387925024891 +1.5470565586014944 +2.533137115072871 +3.2565324987008433 +2.4277395334902385 +3.278176433252197 +2.2875403545559294 +2.5820853856818022 +1.672789625092447 +1.672789625092447 +0.7017308664465927 +1.101516897505179 +1.082118569019245 +1.9942777150037245 +1.431319475897124 +1.8813230742780385 +2.217544642311177 +1.824412316802039 +1.824412316802039 +1.824412316802039 +2.18539720777837 +2.1617555801512047 +2.9260115894267957 +3.5315484991519863 +3.5315484991519863 +2.7297631169567493 +2.4137198563063196 +2.3257495358137503 +2.2757315219069643 +2.2572292662424016 +3.0741666694363103 +3.9170038795087163 +3.858586406275928 +4.274863695686331 +4.43656381145315 +3.6335738210300152 +4.236773145764975 +4.020007772951085 +3.57693665146635 +3.57693665146635 +4.504720683398892 +4.618870965982772 +3.8386606655221334 +4.089975152668295 +3.5780978437822837 +4.189088844900417 +3.6832523754100306 +4.303557058910564 +3.639422553209792 +2.89010024389796 +2.2878338534966405 +1.6311455040196219 +1.8093049277827342 +2.3688927113050324 +2.760604935462104 +3.707182971649665 +4.595598303101758 +4.875162676336467 +4.86595186357232 +4.86595186357232 +4.539277841597141 +4.070859819956902 +3.647488633704019 +2.954001149642115 +2.2470947622696875 +1.5296826750439323 +1.909406330342015 +1.0139071924486724 +0.7814712858180418 +0.4054252494229693 +0.9058790170703157 +0.9058790170703157 +1.4349488927009346 +1.3531792469709938 +0.8439820871541877 +0.0945308739344386 +0.8132008636492272 +-0.15547412090563317 +-0.28073402053336716 +0.12605609939465368 +-0.6165808310674715 +-0.18308540188483147 +-0.9201185641224779 +-0.6503668071784104 +0.008669499267829894 +-0.7459796964474951 +-1.219969609466275 +-0.22730416331773085 +0.029059505484500425 +-0.0830023052862704 +0.37824595919739357 +0.8462010335698257 +1.5481438411452628 +0.9582494359562075 +0.6719686883002677 +0.9544093076550649 +1.0741910333270233 +0.9523424644364175 +1.251125607252186 +1.0533764129341714 +1.0533764129341714 +1.6675671599398343 +2.4461450534506555 +2.5552350450651806 +2.658678503301483 +1.6611713265497967 +2.5382848142715355 +2.5693464600248723 +3.083760299822104 +2.6454561830796117 +2.825196438942685 +2.375849351328218 +2.7757268230619947 +3.0689619679812052 +3.784878178570711 +3.8841564808626687 +3.4467867531906666 +2.8487241786494675 +3.4027302216745143 +4.108332255465619 +4.43711291995727 +4.253480343304407 +4.612311288515093 +5.4494260763708935 +5.216364147756166 +5.135391777320945 +4.306754615115905 +3.3863491062102073 +4.25618485757277 +3.7274635246758914 +3.2790250139910775 +3.8441477963026416 +3.662400381844773 +3.797566293908679 +4.75420480114824 +4.565093615885473 +4.539269390959875 +3.651381543304584 +4.364446231618235 +3.9105960180568937 +3.9105960180568937 +3.6205558635635926 +4.580491601794768 +4.231367656081085 +4.231367656081085 +3.254805157828785 +3.1910012122516256 +2.457098982268957 +1.8523091227725847 +1.6944456657437388 +1.2634241615556259 +1.9824939256276792 +1.1101432795961648 +1.5955678498596806 +2.0693981562177304 +1.1570679960948815 +1.8767798937355384 +1.8767798937355384 +1.6372730139050158 +1.7183233144950676 +2.7096051254967373 +2.292908256650663 +2.505300025302304 +2.514915865189985 +2.682981288008511 +1.930348566827343 +2.5822827393709966 +1.6236586528601977 +2.051604684383975 +1.929643374644689 +1.980784332542421 +1.852336384826093 +1.3766210654519826 +2.002451633563834 +2.097783709435225 +2.936508560568716 +2.5584265413553196 +2.64929456650871 +2.0746966609418265 +2.3813210566364273 +2.0779022346343123 +1.7785868452550164 +1.4998503222265587 +0.790772115408227 +-0.060504944579519604 +0.2895818629978808 +-0.5025225942510665 +-0.8654386381482252 +-1.1063384788363295 +-1.1532232052136382 +-1.371986999520268 +-1.2275288754161393 +-0.6417371801760223 +0.2321433596070741 +0.2802222654464477 +-0.04290435842816598 +0.47369123055010587 +-0.11763722428465051 +-1.1124811441273108 +-1.1124811441273108 +-0.7790000969121207 +-0.9658432103920892 +-1.4135147516010371 +-1.8839909815582736 +-2.37629325968212 +-3.2912571144456924 +-3.566543475703683 +-3.9310050813150923 +-3.9616536689404747 +-4.45587309772792 +-4.72650898729006 +-3.8574551730046553 +-3.9444291742418454 +-3.699405162172924 +-3.699405162172924 +-4.501563382871755 +-4.334248727176231 +-4.298472945794348 +-3.664378717538008 +-3.2545391584068097 +-2.81884026216537 +-3.2147820008082797 +-4.0864584621351225 +-3.469204827021194 +-3.7407884306520955 +-3.900374770457319 +-3.000468920544142 +-2.7008228872072633 +-2.5801857651564246 +-2.2708697116811765 +-2.2344193822427307 +-1.6358976411497719 +-1.5364193244191788 +-2.192400032373902 +-2.463379025547832 +-2.463379025547832 +-1.9784156033046592 +-2.151284099351061 +-2.744804009228665 +-1.946380318034668 +-1.3670365643513547 +-0.47209859342547245 +-0.47209859342547245 +-0.8333434938180536 +-1.805721522287088 +-1.4801953199443296 +-0.7617780450602367 +-0.08107382105352157 +0.5117015044969155 +0.11798804474043834 +0.3940110392642143 +-0.5905764475988241 +-1.5416443323825897 +-1.3617876261663273 +-1.3617876261663273 +-1.8769334082991966 +-2.8263632772847087 +-1.9494741034467689 +-2.529134309300635 +-3.1745641709196954 +-3.642421036168471 +-3.8404037018695374 +-3.664736302497775 +-3.111223831733759 +-2.526418520565308 +-2.612223394384273 +-3.1553049133961464 +-3.3503159009413213 +-3.163652124214943 +-3.27455217317834 +-2.304744984593663 +-1.557611306076595 +-1.8454632656997698 +-1.6350620066369381 +-1.5686798297016804 +-0.9818770326110986 +-1.8410190126686357 +-1.0357788960568655 +-0.23416921764462018 +-0.9596340654026796 +-1.4992393407576956 +-2.4750306074640065 +-2.1798050261826343 +-2.859550675902355 +-1.9732156051143426 +-1.957543941104703 +-2.2813978956703256 +-1.9336446856293874 +-1.9336446856293874 +-2.3130844826344665 +-2.802143736105007 +-2.802143736105007 +-3.152328506856543 +-3.667706458917006 +-4.254310175068593 +-3.700216268687571 +-2.9033430850749555 +-3.534001652196846 +-4.313987760688443 +-3.764714337103208 +-2.9493775212164604 +-2.83690656545173 +-2.298045556842066 +-3.297941637012104 +-2.612546044569287 +-2.8048310445529947 +-1.9578631901136272 +-2.654279535645205 +-1.935420635789022 +-2.7308266530176533 +-3.537349749501832 +-3.862890189383486 +-3.491415165066547 +-3.491415165066547 +-3.551258086956659 +-3.686641859910195 +-3.9324094399391645 +-3.7988059292906877 +-3.8388686482784338 +-3.0690656877911295 +-2.0789894258169417 +-2.799074416741301 +-2.5851239862496227 +-3.389772352057917 +-2.8230243865737634 +-2.998073166610484 +-2.124864903302798 +-1.9319248642426512 +-2.166941981649437 +-2.6322225934560937 +-3.570019357588874 +-4.27384203636093 +-4.832964149051393 +-4.3628521128024955 +-4.7059632042228605 +-5.360532424977631 +-4.385271478975202 +-3.7356964790600897 +-3.261026875666377 +-2.614637913033672 +-3.5936067298390375 +-3.475783079407293 +-4.116112741696629 +-4.31775675907891 +-3.451969993859107 +-3.506985946209118 +-2.6765753314723932 +-3.661395795216386 +-4.609868831072285 +-4.609868831072285 +-5.467816725320028 +-5.467816725320028 +-5.726964232139287 +-4.974512061883834 +-4.974512061883834 +-4.1419101310262985 +-3.5585093080213963 +-4.134607773779384 +-4.360025035776877 +-4.083075390133411 +-3.754470268407504 +-3.5114054726894786 +-2.622904537299153 +-1.7826014390158909 +-1.434034641871025 +-1.5047782249465858 +-2.466001119083648 +-2.9298054904818596 +-3.513723440541315 +-3.4122338147193836 +-3.45652308654824 +-3.3571034540540063 +-2.8547191507339855 +-3.602017856807377 +-3.633820501548811 +-3.147582519763872 +-3.5673294839608922 +-2.789149794457499 +-3.16157456553347 +-3.16157456553347 +-2.749505460397665 +-2.4292230351250725 +-2.7519441105322944 +-2.3926589536570306 +-2.4422310978736874 +-3.2836346452197995 +-3.2107843981764104 +-2.997073593022249 +-3.52076632955717 +-4.417469487733797 +-3.729562015975621 +-3.829175264736195 +-3.0988649988341352 +-2.2317877714923706 +-2.8810131640683836 +-2.3139940402680788 +-1.5064649844330573 +-2.1295930049476475 +-2.4796521618138585 +-2.27503294028185 +-2.5144758026668335 +-3.2691527011866732 +-2.397240638829779 +-2.718792177683435 +-3.3420446793394034 +-4.016044570275195 +-4.839940184726896 +-5.760768382565821 +-6.63225579805631 +-6.104366241992407 +-5.260865244245072 +-5.260865244245072 +-5.260865244245072 +-4.579020531988919 +-5.308089122316996 +-5.056589976376799 +-5.7627156722898984 +-5.7627156722898984 +-5.25495903453334 +-5.246121309150624 +-4.791937832456684 +-4.791937832456684 +-4.236396296926362 +-3.9156353635130525 +-3.37123174218494 +-3.676943547520571 +-3.077514575571332 +-3.7144475317723904 +-2.9567209152453673 +-3.094839915790438 +-3.0945539842737633 +-2.4057941600422623 +-2.016100862166103 +-2.7590358514425386 +-1.9860449789218737 +-1.0010672813374293 +-0.8570777011908175 +-0.67711489481458 +-1.0805274208741298 +-1.6973094381368241 +-2.5103338533479147 +-3.333472450123905 +-2.3819933256839194 +-2.8426278292701435 +-2.589781088363144 +-1.6451590583313984 +-0.9796475333588222 +-1.738548483944167 +-2.248410273667268 +-2.5680092388631897 +-1.7795327085357568 +-1.7795327085357568 +-1.0401796891431352 +-0.48631436525056304 +-0.8806473096251896 +-1.742145443172396 +-1.397221724104553 +-1.397221724104553 +-0.9666868614329209 +-0.9666868614329209 +-1.6765885425550988 +-1.6765885425550988 +-0.9583331959222912 +-1.27802909760456 +-0.6873468248898347 +-1.1418387058423032 +-1.9308459968626681 +-1.7157952893337742 +-1.9053522133118905 +-0.9344414665766334 +-0.7919243444572572 +-0.2941185251560976 +0.18477824561587486 +-0.43352087771621917 +-1.1389886884998908 +-1.3992504403975876 +-0.6516897708359322 +-1.2943906922240977 +-1.777693161598144 +-1.2715901148435131 +-2.1414751563150034 +-1.938515142519427 +-2.2624358340991293 +-3.204920824812614 +-3.204920824812614 +-3.3696740178127684 +-3.0200789085024455 +-2.13719407079321 +-2.400125151818456 +-2.1892874314008957 +-1.4780636975550747 +-1.5673382495950068 +-1.9181231567009993 +-1.2748909803177366 +-0.49219391100868104 +0.241610717297029 +0.09979555458943545 +0.9155278815229165 +0.9668359075498604 +1.259141345319431 +0.7359588946386943 +-0.18269703853156716 +-0.43217451834791454 +-0.4787976825149016 +-0.16763615588641545 +0.31337813014481064 +1.3072066244488136 +0.744103053503431 +0.004782701514439047 +-0.4217290137873574 +0.5438649070217824 +1.0331171813217348 +1.5608602009403916 +1.4193048448910393 +1.362852900372979 +0.6134856698896758 +1.3321482120453685 +1.3321482120453685 +0.6802805871107898 +-0.21356850905346825 +-0.5914629474352325 +-1.3910601229614414 +-1.3910601229614414 +-0.955856174708579 +-1.6158893537696515 +-0.9140530723204312 +-0.08442343534850316 +0.40803949720456956 +0.4568898684847298 +0.4624589389715903 +-0.3150377823880808 +-0.2745595926655564 +0.35471578786781466 +-0.6024110398774709 +-0.6771905333489175 +-1.5435263693051264 +-1.6303416376708255 +-2.1354473916678196 +-2.103036235251963 +-1.3766030104085056 +-0.48183026215336167 +-0.22051620176069786 +0.6044159689821251 +-0.0869525193777494 +-0.19489208426048654 +0.5170575950066373 +1.0899246000289096 +1.0899246000289096 +1.472316036780193 +0.9331522021020233 +1.5453912338490647 +1.02902701217276 +0.886967113666482 +0.3193626770258714 +0.15737637399179882 +-0.14268182325462575 +0.547271807464392 +-0.24335399243497913 +-0.024074581653154348 +-0.9859187154268952 +-0.09911415508433696 +-0.8977060221680234 +-1.6466731964823729 +-1.1447091051235017 +-0.394006037947789 +-0.3929833515693162 +-0.38694738411227747 +-0.4446426527240698 +0.2771502758320984 +-0.2820944905169097 +-0.41951482001244256 +-0.9412567174241908 +-0.7069480492512323 +0.054052806088764616 +-0.5012363052984148 +-0.700967604958567 +-1.0108210010824796 +-1.926879024472566 +-2.6737357887746334 +-2.6737357887746334 +-3.5070883197912424 +-3.7088735912603417 +-3.717200852188138 +-2.963961253079729 +-3.6184993026029346 +-3.687995012024718 +-3.687995012024718 +-3.950511651207987 +-4.184251738018499 +-4.184251738018499 +-4.781696936667279 +-4.466555893563994 +-4.041932774455557 +-3.3689222086515054 +-3.091729905250295 +-2.813057169238644 +-3.624196674731351 +-3.530483072758379 +-3.126547277989939 +-2.315030318468745 +-2.315030318468745 +-2.1475534555045646 +-1.9702578505881845 +-0.9852499318551424 +-0.3578728548502865 +-0.911782487863148 +-1.106957422554827 +-0.8308091620365039 +-1.31558514426701 +-0.5603075413982268 +0.29141288577372637 +0.3386938415977234 +0.1997303444834987 +0.22352666019667666 +0.22491170682400397 +-0.6633530018739265 +0.0829198203111331 +-0.19150755638522599 +-0.6504445807132683 +-0.14603417289788723 +0.3797839850408601 +1.1910290900011162 +1.8270417987551575 +0.8366896689737566 +0.03206563102157012 +0.8079582023490088 +1.1824525951638574 +0.2763762427270635 +-0.24650186918858186 +0.5665280284890775 +-0.2283398715883871 +-0.2283398715883871 +0.2634652704641589 +0.4258067923635953 +-0.24045910618485977 +-0.8706214239614825 +-0.5007344965456477 +0.1600632933762547 +0.08433938095667559 +0.08433938095667559 +-0.2264866740142304 +0.36458726833733146 +-0.31996804026362313 +0.5785135559475763 +0.5311920528158832 +1.3932231300406044 +1.5313337516192418 +1.0865612621893912 +0.33324785475231744 +-0.09783107525784607 +-0.5126329866564321 +0.1644379763494639 +-0.3392735934245925 +-0.4796984674299677 +0.1782382552074554 +0.9957210254257679 +1.4897287549902996 +0.7487504508051697 +0.7487504508051697 +0.49883322746537917 +1.041782846570984 +0.993756246431918 +1.4910881046307778 +1.0890724637886704 +1.919540264049614 +1.0245644840692982 +0.12932162591957952 +0.08016870214901106 +0.8087407385747728 +-0.1885438447411697 +-1.1221213572671647 +-0.9637965684118868 +-0.9507875694525274 +-1.2123334432771466 +-0.38825402378382123 +-1.3878354016188832 +-1.407453259212196 +-2.1455433239905073 +-2.067942504695412 +-2.467579925397491 +-3.2947518752131986 +-3.1013085345076425 +-2.734528172548222 +-2.393560159283303 +-1.6450854293926447 +-2.2259520714192034 +-1.4568443739038985 +-1.6424012148149871 +-1.153326797293591 +-0.7420720907858323 +-0.18612133077590753 +0.2665557149274451 +1.168040635220645 +2.047701124400475 +1.5013500015235757 +0.6987770046589801 +0.04689915571426284 +-0.30921664850448594 +-1.1957985180615087 +-0.8991135623439421 +-0.21867289128627831 +0.16376087265763029 +0.725245086041804 +1.3521227067102952 +0.765237061864452 +1.4693347484929775 +1.4693347484929775 +2.3323390635051107 +1.796749142721214 +1.796749142721214 +2.1092056770117757 +1.8237911604219752 +0.9922982628334835 +1.4713494714079223 +1.6119852817735183 +0.8981734912232298 +0.14481687939420262 +0.6190284029619941 +0.6035822819875963 +1.4387423677632718 +1.1704527237077693 +0.7082831946979656 +0.5062451395986423 +0.9460413191226162 +0.12151124178629913 +0.5418638660825694 +-0.31021009541562394 +0.4395636297947456 +0.0820232526900958 +-0.8723328579314481 +-1.465764350478452 +-0.6699586766003836 +-0.5903600750827884 +-0.8649583259506347 +-1.1884958166805004 +-1.9940555626569705 +-2.261029106440322 +-2.1402164039998626 +-2.2393951315185077 +-1.9218850604899194 +-2.0333975518616723 +-2.483295202909025 +-2.7260761186718163 +-1.9844440431315793 +-2.3236924736123807 +-2.101381539005608 +-1.303963069305521 +-1.303963069305521 +-1.9744109229221127 +-1.2846882305452305 +-0.5563950228440002 +-1.1124865454549662 +-0.5942393885176318 +-1.5602104326181006 +-2.42982172116705 +-1.632757368208932 +-1.965395069338582 +-1.965395069338582 +-1.9315399427602158 +-2.0014423950346423 +-2.1386802640629234 +-2.941373169667732 +-3.543026872651791 +-4.163939693208426 +-3.2455456445810116 +-2.8671979729884685 +-2.958207202487637 +-2.53240497366414 +-2.53240497366414 +-2.761396633065195 +-3.2136175177020436 +-3.101903739332765 +-3.778071972167138 +-4.434379431968855 +-4.233361527035899 +-5.042044146020428 +-4.17921676983196 +-5.012776803934965 +-5.012776803934965 +-5.490888785376956 +-4.77465481560365 +-3.956206999212634 +-3.315828434087492 +-2.9095938449941796 +-2.5919632393934293 +-2.285818258776212 +-1.8484013447319714 +-1.7432665157662426 +-2.0211793451821074 +-1.891315876626716 +-2.1390378709120457 +-2.7003320499744383 +-2.753173261917179 +-2.419004586591038 +-3.098146398127618 +-2.4631991747417503 +-3.4245388108818027 +-3.1326625233120184 +-2.7251991227994914 +-3.441257785842459 +-4.057380279402365 +-3.5949421521491898 +-4.411612720668215 +-4.411612720668215 +-4.148693426246239 +-4.78971417956264 +-4.78971417956264 +-4.025304642911011 +-3.9723580755828767 +-3.3106464029011358 +-3.607918790848564 +-4.131419112902571 +-5.0310059383812495 +-4.101164493805957 +-3.9720700904566097 +-3.8219393560888544 +-3.7973608770727525 +-3.4861940422821207 +-2.5000792629254347 +-2.058960937825624 +-2.8041388591906626 +-2.1081158963276723 +-1.9230250438260459 +-1.1610977180259763 +-1.2680475296842002 +-1.1767461660264997 +-1.8980193241858943 +-1.6416606156736764 +-2.071195257267163 +-1.986631677046601 +-2.0996447986187796 +-2.6671727014532203 +-2.440805535897546 +-1.8615294143039105 +-1.3015455337651989 +-1.820127732031947 +-1.6964737020405631 +-1.6964737020405631 +-2.031611943748111 +-1.648697136165938 +-0.9042180369892467 +-0.9042180369892467 +-0.3712147588338861 +-0.5661988211766878 +-1.3712036879408118 +-2.0491427710952923 +-1.1467657678324823 +-1.296677678466685 +-1.139097387763359 +-0.6488297084858532 +-1.0138337933259716 +-0.593236856708536 +-0.46448243640308196 +0.49381731931004413 +0.5485338189251829 +0.48868070070464864 +1.4280135560210971 +2.096336958137945 +2.0620099951315822 +2.0620099951315822 +1.2949492596895906 +1.4271950882486706 +2.243999660306675 +2.349070075838976 +1.5596423051568153 +1.5796215801637066 +1.5890752316680739 +1.583791440108953 +0.8683375142881833 +0.6067469488662492 +0.839417296540442 +1.8119268965912392 +1.8119268965912392 +2.7944023646313547 +2.351168031084575 +1.4645292464022173 +0.6184018718011457 +0.04121567869398213 +0.947690874563756 +0.5288488997961885 +0.8146179931092498 +0.6666029902453958 +0.2982136516116073 +0.006173640736826469 +0.16207310707359435 +-0.5885650544069005 +-0.8161553030521856 +0.1194817879292912 +-0.856892475316733 +-0.8967304538967378 +-1.363639633554342 +-0.980067399744375 +-0.17780920490562346 +0.6154631686433407 +1.4647043166233733 +2.4070890872314896 +2.142118382470546 +2.142118382470546 +2.142118382470546 +1.9473315055677163 +1.9473315055677163 +1.3366705209612726 +2.1702622601865986 +2.1702622601865986 +2.1785133034245043 +2.803520066004574 +3.2091526539409836 +2.7622541457318417 +2.575876656005898 +3.1426539395808977 +3.653411264688372 +3.866519515555285 +3.8697511140558905 +4.143145297403784 +4.143145297403784 +4.143145297403784 +3.190402353128235 +3.1381971464520184 +2.248207798801361 +2.701048224452097 +3.686465440694356 +3.994604644104321 +4.882870468925436 +5.290947874135693 +5.795783775266781 +5.5205342387921945 +5.5205342387921945 +5.044292960653732 +5.9866465154157975 +5.854218772404559 +5.665915291864039 +5.665915291864039 +6.483195656961116 +5.993842208458837 +5.398199443676072 +4.758329065402008 +4.758329065402008 +3.951384169242128 +4.370873598451771 +3.9759105637667225 +3.2270008137992665 +4.10599536713949 +4.115885850038113 +4.932200268145097 +4.143345790907591 +3.779695051990555 +3.6217828839489608 +4.400549840961736 +3.847376492755756 +3.444764071197261 +3.9030394383881264 +3.032218742330116 +2.4845742833002733 +2.7948547649866935 +2.3021264422945764 +2.3593613369223707 +2.0884176732716835 +1.5804892576337466 +1.9600393732243289 +2.420690327489693 +2.178236966930895 +2.8574157819733523 +2.7633779771995464 +2.2298724428624306 +1.512996978759152 +2.113716383416538 +1.5087309729967668 +2.1832295155672616 +2.015715972420485 +1.126258806275674 +1.5484924127896122 +0.8361656031481834 +0.19585080749032446 +-0.22295072497309099 +0.6449752861193027 +1.008204572182466 +1.5208743854628033 +0.7173326317719781 +1.0692411141032234 +1.1230926498209624 +1.5686668461055264 +2.044701839406921 +2.9201817159391044 +2.6558018495439635 +3.5132720962933743 +4.158928694946527 +3.365293553273608 +4.066662647742327 +3.4334117550068797 +2.5196170502428696 +2.7792596481624834 +3.3829360572960474 +2.4305744744061446 +2.5498171660067914 +3.368480705631451 +2.721838450464835 +2.721838450464835 +2.0149074997807603 +2.9479880419922733 +2.992089029045175 +3.3245535674679205 +4.091467575233436 +3.8647008940860053 +3.6653202028788465 +3.6258268116031322 +3.8934163025032125 +3.1206049435483205 +3.516829640809419 +3.7522968411477358 +3.812653485194269 +4.312688981515152 +4.41740492917124 +4.451324388787522 +4.439704739517051 +4.225393254624835 +4.652104679987628 +5.2532690591976685 +5.858089930993173 +5.858089930993173 +5.391851945627439 +5.3746058164641894 +4.712072735690425 +5.405606710298929 +5.405606710298929 +5.767205343765763 +4.889801634254364 +5.311276673984816 +4.697182688128705 +5.637275122423178 +4.745465447647421 +4.603453678821718 +4.089269958091466 +3.128762870452257 +2.5757025300659127 +3.035165688519868 +3.035165688519868 +3.887252971586615 +3.597668561214651 +4.042118523800288 +4.082884170684506 +4.032544150864233 +3.1406163437735897 +3.8726672108649294 +4.353713945505394 +4.324762680534787 +5.2390451865432475 +5.2390451865432475 +5.2390451865432475 +4.87306413500846 +4.87306413500846 +3.9508149867556854 +3.7320567755000345 +2.888299832830822 +3.169611985848499 +2.5515422204755502 +3.2932941210896765 +4.280685152313315 +4.205218275284459 +5.033262867862052 +4.387683158201825 +4.470706390986057 +4.646261845656833 +4.254509490736265 +3.803629204519989 +2.8195672344806253 +2.719992228977593 +2.481610374939092 +2.481610374939092 +1.6374569272718191 +1.2621301506719993 +0.6640250046605725 +0.6640250046605725 +1.3498378629501793 +0.8441351664154249 +1.496113400626898 +1.5507577246504682 +0.9640238429730452 +1.2614976915015306 +1.567324503283287 +2.3285185898734975 +2.243188346219414 +2.291052072499976 +1.5439165719417955 +2.1363726037841118 +1.2038674413570636 +1.4020899355548575 +2.1592629969293133 +1.954308852069666 +1.7956532065020854 +2.4813447939716005 +2.9139968846470308 +2.400029486248213 +2.5976286442708396 +2.2566938144693496 +2.9669665336858624 +3.272435178966203 +3.272435178966203 +2.502757649577916 +2.483463670183635 +1.772369439685402 +0.8668167524751604 +1.6889459646897924 +1.0636896321178557 +1.0636896321178557 +0.399929343131731 +-0.2847261065386406 +0.613392158439177 +0.25415160390646363 +0.9823333449263169 +0.4623943921152106 +1.081862841729674 +2.0149155857828758 +2.0323250446952166 +1.5577761743073588 +1.7892862784818375 +1.7057886030634584 +1.123465608033398 +1.142095956591222 +0.4531667102702108 +-0.14833273276548087 +-1.1134101029656378 +-1.3011332972322531 +-1.3418633178777548 +-1.7868511687488238 +-1.7082986557245115 +-2.483584575047227 +-2.212080858961544 +-3.2108082187875526 +-3.1832754399003527 +-3.0494938621485144 +-3.020293382361375 +-3.655010264203315 +-3.853109207958702 +-3.0324341409942352 +-3.850655460618328 +-3.090304084179144 +-3.991244005037486 +-3.9582116360763386 +-3.2392349061927352 +-3.34030193480295 +-3.391533747282625 +-3.8661851394521976 +-3.3632770048677507 +-3.209177844819707 +-3.5299271987478322 +-2.5683768215539633 +-3.1805939300261503 +-3.725773217260949 +-4.050207150096663 +-4.296917568752497 +-5.157392414881034 +-4.458069349945588 +-3.513417673873673 +-3.513417673873673 +-2.5986498042038506 +-3.423901412715141 +-3.121223852501518 +-3.5580915620258926 +-3.9142734671732624 +-4.368192902997543 +-4.368192902997543 +-4.542815080013111 +-4.352040477228267 +-4.976367706013696 +-5.734981336176969 +-5.2940511426403765 +-5.056675923237178 +-4.665883527010894 +-5.3710044843687275 +-5.101230496940517 +-4.549484116716068 +-4.9482607990470004 +-5.760426961323929 +-5.024909464999856 +-5.794304629165527 +-6.655007413412815 +-7.384609946651434 +-6.842649079254759 +-7.824080057726795 +-7.8448408164716215 +-7.358138406219807 +-6.852782071944817 +-6.43515261377938 +-6.29023981921605 +-5.8412672373908645 +-5.77885464084409 +-5.205927698365334 +-5.205927698365334 +-5.095058082320747 +-4.626630713032023 +-4.626630713032023 +-3.819439895907772 +-4.194956434760189 +-3.9415512295163486 +-3.9415512295163486 +-3.787479990212979 +-3.9999591211061962 +-3.4280264638968436 +-3.288889144122795 +-2.605803968624259 +-2.122027039674177 +-2.4915843630062118 +-1.5613304360574003 +-1.746578021896902 +-2.4536976298517787 +-1.8784806042808828 +-1.8784806042808828 +-1.727221545616709 +-1.3438361494744113 +-1.0779370056937372 +-1.9807381638556434 +-2.3976624326430422 +-1.688905815829053 +-1.152551288022431 +-0.3798811467108927 +-0.27413753488387593 +-0.14917218976558377 +-1.105847270303902 +-1.105847270303902 +-1.0512994114570207 +-1.2403741232535226 +-0.3879047492594565 +0.4680402276118967 +-0.337078346750012 +-0.1566030116766033 +-0.4873299411280031 +-0.3705286467264942 +-0.5440206281632829 +-1.3943127779266744 +-0.797366697380415 +-0.8204201017302232 +-1.1520661575548552 +-1.3265237686578883 +-0.40046802901656875 +0.35342849761599227 +1.2737179008939281 +1.250263606589527 +0.8351845326339055 +0.5616601002955603 +0.5616601002955603 +0.2716711151948218 +-0.24308876365995602 +-0.059958368320487065 +-0.5813749612744387 +-0.9435546196656404 +-1.7997424400699318 +-1.7997424400699318 +-1.905548899557239 +-1.380546267872325 +-1.618059036169091 +-0.8466778220895321 +-1.8089503359745296 +-2.0339288945883487 +-1.640355211479789 +-2.131819373158913 +-1.2786112517384218 +-1.3327086320174861 +-1.2225129908680723 +-1.0862757593579768 +-0.18365034164730742 +0.48671252958129574 +0.7521358524155621 +0.050316871391646645 +-0.8747149210554999 +-0.9096493232655117 +-0.6410442369222719 +0.12840068666467885 +-0.0010139575403742551 +-0.11916797058112583 +0.7029865291528118 +0.9750870190277655 +1.0136617340386405 +1.41533274219125 +0.6797005681530277 +0.47590348168828756 +-0.23362162114137164 +-0.5670878456483455 +0.2622890788079424 +1.2355343837003765 +1.6664905222821755 +1.665691847003333 +1.829731351572925 +2.1408736830030333 +1.8808497683407182 +1.3309052914413328 +1.3673805032816226 +1.5905895214732721 +0.625269676054341 +0.6401750721237132 +0.11682862543178851 +0.7098223447092167 +0.7058991824229016 +1.1440074581059756 +1.1440074581059756 +0.994616961023791 +0.9491007938677816 +0.9057581343170261 +0.1237215668916195 +0.19187644598478426 +0.030919145142160875 +-0.5403856910435747 +-0.2311891393427703 +-1.0499641546448268 +-0.08285477148820464 +0.004423112443123545 +-0.9681673746363855 +-0.5554280492801418 +-0.38034841268308206 +0.5991809243651962 +-0.33371548098256376 +0.5689383940340376 +0.8417872974530136 +1.349304608445265 +2.268555088836374 +1.8110111715908226 +1.8110111715908226 +1.635821354350889 +0.8215361417914746 +-0.1276925124425139 +-0.37445142435321654 +0.5269068418218389 +0.2927569993408592 +-0.277175934586108 +-1.2729232367037986 +-1.8409539387542586 +-2.0128351090014536 +-2.8727838753273227 +-2.7253374380008526 +-2.8274889226731257 +-2.171427908970338 +-1.412957576847536 +-1.4861941505550966 +-0.6901477922337653 +-1.3980269188189862 +-1.7148121827144465 +-1.5576016026905146 +-0.8673475557485344 +-1.0207654293088662 +-1.9874214070977283 +-2.045868297867182 +-2.479274367141417 +-1.8970627721655788 +-2.433233208797164 +-1.8130402036522137 +-1.7259774274403463 +-0.7987967923192405 +-1.2137073961698666 +-0.825677470232937 +-0.4523308475834822 +-0.06437670049936339 +-0.39166191180792065 +0.08923041384902752 +-0.08567448264199706 +-0.3509037853088245 +-0.025124403922123117 +0.24611795035153705 +1.1255457347173543 +0.8437262961196675 +0.04966300323454009 +-0.16943342192931143 +0.0594117690908067 +-0.5463343193941395 +0.29407020570473064 +0.932677686754767 +0.9366706237777371 +0.8505495302316365 +0.3001808668787883 +0.9236127259437034 +1.363036113056717 +1.4055472089551804 +1.2920552303728936 +1.4076414721129147 +0.592794304785365 +0.5021033132617022 +1.220242917835674 +0.30029526684800545 +0.5089551397745082 +-0.05330556581597179 +-0.7390122192245852 +-1.4476688288661046 +-1.4764880511211187 +-1.0775292189823258 +-1.2963414096236274 +-1.3616713648681147 +-1.1212711722768651 +-1.6044628195002257 +-1.425525975537095 +-1.4067705493972544 +-1.3013590113068119 +-0.4162156743213534 +-0.4162156743213534 +-0.18459242636827788 +0.8043593933767579 +1.0403115954930617 +1.6769538666642034 +1.4794123923511315 +1.1005270311763078 +1.9445735042923915 +1.5648985117362715 +1.4814127650874713 +2.0120689027009266 +2.8971675087148228 +2.5633402037559305 +2.026103662221641 +1.343353293489734 +1.8312007106134334 +2.427160803056292 +1.8643916527863535 +1.3423716157581516 +0.7980191421337064 +0.3107426397430445 +-0.37225957961664424 +0.5159798243719055 +1.1985490857131347 +0.5271373360770755 +0.19770261011532952 +1.1444592066318888 +0.4563747335698818 +0.07741492495138125 +-0.6201769924001711 +0.03635033975629287 +0.2336172125839765 +0.4198333841021217 +1.240376650821223 +1.9504242175711357 +2.478410402204786 +2.478410402204786 +1.8548301608163258 +1.8548301608163258 +1.8332531679952502 +2.259788542436681 +3.0871903631260706 +3.5233475342684266 +3.691422957720329 +3.691422957720329 +3.4957579984064986 +2.9376212835001203 +3.356561282955612 +4.051278840983602 +4.480388403803813 +5.261178695063347 +5.0784830201591245 +5.757694045910959 +5.770029688969362 +5.770029688969362 +5.531621257378815 +5.531621257378815 +5.446627975147087 +5.525244288793384 +5.115126112229266 +4.218441358449626 +3.518051265442688 +3.9172901000220586 +4.451846568928081 +4.012083916358345 +3.124914442029858 +3.5893823574301953 +4.169718942766409 +3.9881130918244616 +3.137688727694589 +3.2893152958051766 +2.7986974132642346 +2.7986974132642346 +2.3208168605543795 +2.2900722369358735 +2.4036834088188694 +2.437355179911581 +1.5625195136442875 +1.1856190590518332 +1.564697962045208 +1.0014748107122522 +1.8844798033670767 +1.797715023104899 +2.195507067704364 +1.899189273892378 +1.8794456893604794 +2.010295410333228 +2.347148238110206 +2.1974655117840234 +3.031674198693205 +3.0331863727899355 +3.66154196608095 +3.653608037403801 +2.821257691230954 +2.477177663580593 +1.7988225553913597 +1.643804956321329 +1.929953585617629 +2.5903154222240765 +3.103263659405102 +2.194154876501098 +1.70004533409407 +1.7707174685090277 +0.9871934948871097 +0.9871934948871097 +0.14671176265488572 +-0.4177146751609022 +-0.7025882948228129 +-0.6277158921689031 +0.036765868295192905 +-0.37388211279524475 +0.2813413054880649 +-0.05148376828346535 +-0.3508809670708162 +-0.49494187952452073 +0.23296015802915926 +0.24204307100468248 +0.7686154866730989 +1.5420490604204238 +1.3644962121483784 +0.36791801109761213 +0.9722327097358885 +0.31028770792387395 +0.34409557476708064 +-0.16624255101290308 +-0.0931243758627367 +0.08286703566524478 +-0.4623304997950346 +-1.4092330725775326 +-1.5754587146518362 +-2.445109444870047 +-1.9306610130463973 +-2.140854997413302 +-3.115298955975818 +-2.9692214066411005 +-3.2173249204681356 +-3.272199653248585 +-2.811676934630401 +-2.793953608756653 +-3.580082459760633 +-2.6859746469414807 +-2.6630515627197946 +-2.6365245647462006 +-3.0251933087005325 +-3.428243801508089 +-3.428243801508089 +-2.8051475764279123 +-2.4747226325700264 +-2.075607057909558 +-1.0787631223848948 +-0.30594533294935067 +-0.7803827508336504 +-1.058131589048645 +-1.5699865326843794 +-1.2291776061910895 +-0.45946538043622054 +-0.48912100529122726 +-0.3136370260844342 +-0.5194749370625127 +-0.6938092643001342 +-1.6496871297770261 +-1.2996754151055394 +-2.055167629185534 +-1.5877208857183918 +-0.6686528762892934 +-1.6122908500071544 +-1.7440935710040564 +-1.0299519604862266 +-1.9446251518381057 +-1.4010700135041323 +-1.0884194862749823 +-1.833236462459818 +-1.2553638089664754 +-0.3680727961889574 +-0.9326918790435865 +-1.7548870233001699 +-2.191674871362983 +-3.153099403461529 +-3.944288061745026 +-3.944288061745026 +-3.3209042535676443 +-3.814695104922317 +-3.6688700451014444 +-4.088248346215988 +-4.067885204671814 +-4.696371860632929 +-4.086376809408227 +-3.707629336766387 +-2.867328495967117 +-2.221275946462546 +-2.221275946462546 +-1.2442351643105778 +-1.8089352600212103 +-1.2353755838893077 +-0.2980946732054959 +-0.8147755442095175 +-0.15235048810695995 +-0.19314963100848537 +0.5791515400114279 +-0.33430982563190625 +0.1915670835710278 +1.155733332381776 +0.6623629089353767 +0.3702956965264945 +0.1827726808123108 +0.1884380496100292 +-0.619946374330479 +-0.09473279110406241 +-0.5673053367412833 +-0.9805505648760796 +-0.6209036217484322 +-1.1403854623071408 +-0.33875489737319064 +-0.7132209512513558 +-0.8160662685365159 +-1.712027982168276 +-1.4939786093990897 +-1.1366469440435456 +-1.0211136958013904 +-1.6417296662161962 +-0.9041069806376065 +0.047846774191480534 +-0.7885188630360784 +-1.0263651601125194 +-1.0263651601125194 +-1.7840851148260497 +-2.2586321520311263 +-2.0610320147570347 +-2.3201003866903473 +-2.641583963276203 +-2.5971453112592577 +-2.5971453112592577 +-2.5971453112592577 +-2.7900252367689595 +-2.536789756599866 +-3.2424209240209145 +-2.463279366328405 +-2.1768014700203597 +-1.3952969873144405 +-2.115901795232771 +-1.4281394253846054 +-2.0261415009966552 +-1.1531783477043782 +-0.3364079608300645 +0.3156520923231969 +0.46487023885520995 +1.3797820353827754 +2.2072108829596706 +2.4227733742099495 +2.623785827938065 +2.058237631770397 +2.069797497152051 +2.5500911184981248 +2.0028205347224803 +1.9076898725827869 +2.15902536936494 +2.472975432890904 +3.069247350775216 +3.3265252036966877 +3.507638161117739 +3.1433290368189803 +3.405671437582111 +3.6161370218669866 +3.0953280306714044 +3.0121020990992413 +3.5643833104719276 +3.5643833104719276 +4.364185939172811 +5.00920054872131 +5.611402721902371 +5.864238809462938 +5.584052759770723 +5.538549302002681 +5.797611225394378 +5.911838616576716 +5.243582759079747 +4.528943432468114 +4.689331917571646 +5.072896505689891 +4.87984712073846 +4.87984712073846 +4.912907659327672 +4.768480500149257 +4.4327041539260845 +4.993081457865148 +5.349850670363208 +5.248073424048349 +5.168370562681711 +5.289611560807981 +5.289611560807981 +6.133784305888744 +6.133784305888744 +5.682769272031024 +5.839868074374854 +5.839868074374854 +5.448102651651435 +4.95322548202953 +5.766943710535941 +5.553056219249575 +4.748762484166465 +4.428291212670013 +4.428291212670013 +3.6510888470842 +3.6510888470842 +4.443994840105816 +5.246945820622027 +5.482868059258011 +4.675411291155108 +4.675411291155108 +4.567260348378211 +4.567260348378211 +4.567260348378211 +3.795201008078765 +3.8858297735957708 +4.689069562729272 +5.235353828984933 +5.3212197982935425 +4.555832049477213 +4.587672690920921 +4.587672690920921 +4.744656873837452 +4.744656873837452 +4.436185303627298 +4.436185303627298 +3.973488860883613 +3.555686744711629 +2.637944739552932 +2.6158103122219343 +1.9410194280900392 +1.8797754663939252 +0.907834279470157 +1.8200279046226069 +1.1960197880232093 +0.7889604729764216 +1.746488472701953 +1.0233183881006611 +1.6403319950433126 +1.6398725941678647 +0.8317348628570529 +0.3280676287949391 +0.9861388701276017 +1.9333903790681362 +1.766709545980489 +2.0224019145425816 +1.2838296475067006 +0.6584524417377831 +0.21434513194339877 +0.7094359383095837 +1.0417192255088534 +0.5820144403454345 +1.4797851419036872 +1.5490180880227036 +2.170211641337164 +1.639089695229628 +1.4744193856064087 +0.6848625311291512 +0.7019193490036044 +0.8859929946354039 +-0.01012350487567737 +0.415740639947487 +0.5202797339332541 +1.479910847057677 +1.9314506830483873 +1.0374282210207695 +1.4016710935822863 +1.1079084845022593 +1.1079084845022593 +0.6719705813768045 +-0.0012795770084376157 +-0.31647528815553483 +0.09180144258082823 +-0.6718636746810811 +-1.4930698546111225 +-0.8972014798866756 +-1.5733441671615316 +-1.5733441671615316 +-0.9651081239254453 +-1.2948674083753224 +-0.3610473781289194 +-0.8489944642712969 +-0.33211795299434044 +0.4734312057965343 +1.0495551349473398 +0.3583317267872457 +0.7740099245591268 +0.7740099245591268 +0.5672217991178891 +0.5672217991178891 +-0.021880369361223617 +-0.46258689604711845 +-0.46258689604711845 +-0.6659571989564751 +-0.8512161973050663 +-1.459614563266078 +-1.9538469921971808 +-2.388120130094466 +-3.1435718010298537 +-2.144477047149831 +-1.4210608162497047 +-1.0381741462104492 +-1.164817179301422 +-1.6620026261508802 +-0.7817283782755637 +0.06698197457015631 +-0.05375510198739486 +0.806216314487861 +1.756986515176874 +2.186282043799252 +3.005687846940044 +2.7102057747082164 +3.162612017923158 +3.5542185473274985 +2.792269826964076 +2.6888664246411618 +3.199383840617086 +3.6250782243698705 +3.6250782243698705 +3.5527624687844632 +4.524090290797792 +3.9283303659843005 +3.2994397863142906 +2.967448099347792 +2.019888453873345 +2.7745302332100787 +2.8468479272118232 +3.286211622942807 +4.13622372757415 +4.13622372757415 +4.584272314235067 +4.584272314235067 +4.584272314235067 +3.8433726069902914 +3.8433726069902914 +3.7626236450206796 +3.997255256027858 +3.668749341548329 +3.137352792590729 +3.284257361278585 +2.6851446588105574 +2.4949986013780645 +2.9012659549824016 +3.1312046985177697 +3.1986333154698388 +2.707557595389481 +1.8223131081798598 +1.8710911644720352 +2.8017933847219583 +3.3726232239134015 +2.3885373144546005 +2.4774973731443786 +2.3150529713360446 +2.346580940855576 +1.9590703090639425 +1.6290745771952326 +1.8185770712617135 +0.891388931829699 +0.06949884492993008 +-0.7519402096547074 +-1.3879423258378547 +-2.032911178918732 +-1.3048579394076947 +-1.3913929100170108 +-0.7578546118340197 +-0.3275928531558998 +-0.08644696458055856 +-0.3747408043367647 +-0.18774748816007392 +-1.1601409489128613 +-0.9635044701902036 +-0.3542338992598364 +-0.2786245936799956 +0.583790492300382 +0.23965893332879962 +-0.08517732170321723 +0.7413963893778277 +0.7666460631740311 +-0.07091556143350353 +-0.749921312310569 +-1.2458249560829824 +-1.0239904732367207 +-1.9252530197523274 +-2.3941745855554424 +-2.045601883154911 +-3.0361570295923315 +-3.4150928510653515 +-3.4150928510653515 +-3.350809573011164 +-3.350809573011164 +-4.287908898457646 +-3.458408722415742 +-2.5075923783333005 +-2.4490498651753674 +-2.4490498651753674 +-1.7248512345672729 +-1.7443034393942747 +-1.7941312650644075 +-2.1863810383893965 +-2.7696761111194093 +-2.7696761111194093 +-3.626926129886595 +-2.7873463699409866 +-3.7266253196789103 +-3.1695785632113207 +-3.1695785632113207 +-3.654644323520303 +-4.445901069344923 +-5.1568612161478535 +-6.0472199099979855 +-7.030723975973875 +-7.4415672473214025 +-7.282438733361914 +-7.066480514988576 +-7.066480514988576 +-7.124899387138272 +-6.562988386561271 +-6.210320806848307 +-6.023377296845935 +-6.881051621482795 +-7.470077060240741 +-6.748356647344667 +-7.452722359841125 +-8.312115843405254 +-8.312115843405254 +-7.329123626929908 +-7.229837284570175 +-6.600111283386585 +-6.600111283386585 +-5.963137603151699 +-5.098743502903546 +-4.500086768972919 +-3.966506203444533 +-4.174930641578176 +-4.496948546451517 +-4.496948546451517 +-4.149844753226036 +-4.149844753226036 +-3.2819015663503692 +-3.3838728499568775 +-2.634914926909378 +-2.212628723222589 +-2.212628723222589 +-2.4914723535235255 +-1.5857007960511984 +-1.7991346021988441 +-1.7991346021988441 +-2.4072288445667076 +-2.9236822297039877 +-3.6992448534762614 +-4.267476947895113 +-5.052925808247645 +-4.458820090081938 +-4.368556486760906 +-4.113653046357773 +-3.9669812751561873 +-4.599219972936352 +-4.367436061149519 +-4.539471010122035 +-3.888981326871879 +-3.6776842088969097 +-3.025828157634713 +-3.442253051521064 +-3.442253051521064 +-4.176912161061679 +-3.700249832158361 +-3.700249832158361 +-3.4500784762334056 +-3.8713559634032286 +-3.769407323969504 +-2.868576584707781 +-2.6467361570190424 +-2.749009135633094 +-2.5081340826911926 +-1.5867416678944763 +-0.6574029576208693 +-0.6645109300672084 +-0.8360519970284876 +-0.705807608973775 +-0.859713687149151 +-1.216800030776063 +-0.8276946836653132 +-0.6732114755275949 +-1.3050894773610298 +-0.3352703785191016 +0.6235555823550403 +1.2657877248593319 +1.5830704866585983 +1.6426093782519378 +1.5335454594249716 +0.9515316294148541 +0.647202306939063 +1.2018245426371812 +0.9410313140670657 +1.5813997922011227 +0.8678725390379876 +1.135156608358212 +1.0289430864312616 +0.6954398033903529 +0.6130505440417227 +0.4447466084138739 +0.06282871803321943 +0.6974210635945168 +-0.17893136305575585 +0.5632627317279839 +0.5933464257694618 +1.1595089112804773 +0.889399402948413 +0.889399402948413 +0.9049585014768989 +0.8103200025743298 +0.5893551007697057 +-0.17678592069600063 +0.3329762398305819 +1.0462042882554985 +0.24176743190303163 +0.8952303682246439 +0.4167552302481553 +-0.46618746605141437 +-0.3500180156040157 +0.019323413002655276 +-0.028683485275845966 +0.43035877981414083 +1.339849033982317 +0.9972625118684798 +0.7827650432886486 +0.22961312919166588 +0.07767949042491018 +-0.15229461603332517 +-0.15229461603332517 +-0.9907603135243339 +-0.69956183869632 +-0.42858484986435785 +-1.0556799458427042 +-1.6503326770462996 +-1.6291081731610095 +-1.2656259649048516 +-2.042643137991025 +-1.6402294107713307 +-1.5323364659026468 +-0.7041599064935411 +-1.1994841472945268 +-0.4193329022214931 +-0.7377129533582402 +-1.6857946670737074 +-2.1770972206230708 +-2.134015733474965 +-1.6645816530188204 +-2.5199195707167954 +-1.7129761708307827 +-1.8540083219979935 +-2.107292492885949 +-1.2999757417143147 +-1.9284215406520706 +-1.0538025861153957 +-0.7808289402080419 +0.048136525924695084 +0.048136525924695084 +0.6712010658434331 +0.2972547971396807 +0.5586985130649887 +-0.21637875426134723 +-0.9855105714923375 +-0.6531016707107015 +0.14255879172494212 +1.1389146213704961 +1.626778317361465 +1.303408305483301 +0.7773932933005192 +0.6923461166304737 +0.5820286771489047 +0.6334581037462645 +1.0793145126721735 +0.4735561020845689 +-0.025599005105848005 +-0.53961595888577 +0.1002357819379952 +0.09988626248887589 +-0.32864419104045905 +-0.027294677635398057 +-0.7957873950716462 +-0.0402921703933502 +-0.28928036143197744 +0.015371133497790401 +0.2523804228355899 +0.06069986015375328 +0.6234101573513317 +-0.22625732927575337 +0.0019284673183771472 +-0.5350272767890011 +0.225698311600114 +0.23628705101386382 +0.6943757614473537 +0.6492556234730802 +-0.002021807770635542 +0.8986538008470697 +1.5840678082161037 +1.2509061642471266 +1.687303017089245 +1.5888802932888981 +1.921645315484056 +2.6835428658987968 +2.3032655759272824 +1.4679425990448223 +1.1774005775930285 +1.129842927380703 +1.9118216340524619 +1.850775251913193 +2.1591763259276333 +2.358167511349998 +2.7410125036455186 +2.544426147490597 +3.0993069706685237 +3.7156775254198355 +3.7156775254198355 +3.8466607024626325 +3.8466607024626325 +2.9814226408973323 +2.4507176291698674 +2.8071139876166504 +2.145754108155215 +1.2565103380155207 +0.41787110725089716 +0.21404581360193997 +-0.4570541305710568 +0.03450791853643842 +-0.6245358312819346 +-1.1058740547133943 +-0.4028426940408367 +-0.13150596377832646 +0.1961953105230021 +0.9576321048714622 +0.3169267981890602 +0.9453559482092293 +0.2657109144919336 +0.17791192424523483 +1.1304385582211527 +0.40066699366707526 +1.1599289801368025 +1.9986712601250496 +1.9986712601250496 +1.4534414188107847 +1.1276330564326553 +1.1056900942525392 +1.0818578911078909 +0.13726780410346717 +0.4127785154780932 +-0.48969849973472357 +-1.4415323585069564 +-1.399990504047534 +-0.8107744303693618 +-1.4693391986532647 +-1.4477175695911986 +-1.5117027007635513 +-1.306436061288638 +-1.306436061288638 +-0.6410735753230248 +0.2797780241447465 +0.23005560720941498 +-0.1041128196618335 +0.8553925011301418 +1.2944825335621382 +0.463521590098279 +0.6661324913031859 +0.011651580761494973 +-0.5618549294118182 +-0.06588500068409364 +0.8661035449326928 +0.19077746091473857 +0.6891289294472525 +0.20046433372441708 +-0.5988518797525954 +-1.3212474793028828 +-0.9432651791150244 +-0.9432651791150244 +-0.04882073177324542 +0.1328375719156758 +-0.6366911700210414 +-0.5352770294219604 +-0.9390191073489892 +-0.8052788755096295 +0.02577546983532375 +0.5009496694723875 +0.5009496694723875 +1.3204382065324571 +0.9327026632416723 +0.2102653702781413 +0.7960512082368721 +0.8093676740654457 +1.0149342155853565 +1.602559295745275 +1.3894015275004885 +0.5365211989308205 +1.4843321738256916 +0.9589571642925647 +1.6876464011495933 +2.678230165280433 +2.9278483702053744 +3.5478434398628895 +4.408865370766813 +3.6431729395257815 +2.945464792369011 +2.564521286542792 +2.564521286542792 +1.9013354283483703 +1.202791249283172 +0.37159391031497746 +-0.23052995893172934 +0.6016892274715127 +0.14587517827361596 +-0.6047379971314962 +0.371419456094607 +0.33822970176950573 +0.9712834013385807 +0.6653579369120054 +0.8274440197695182 +1.3993307200745084 +1.907291040178551 +1.0538751110772078 +0.12616486883837297 +1.0293306304792837 +1.0293306304792837 +1.2451664912434428 +1.2477928014209585 +1.469956354154798 +0.6463659686991932 +0.43106941710776014 +0.43106941710776014 +0.5486951690276097 +-0.2179471112209429 +0.5709827410462139 +1.1277713597407235 +1.911732820904432 +1.911732820904432 +1.1894066120835456 +2.171241612779449 +1.6080502112910011 +0.8504398339760211 +0.8252856614561132 +1.1156276673861298 +0.12906556153811843 +-0.7203948732960483 +-0.057537814305599344 +-0.5237893833212325 +0.02579856509759859 +1.025794310993191 +0.6348802084537278 +1.5951529802485491 +1.979581601019258 +2.1194395410419147 +1.8265332423430856 +1.8265332423430856 +2.55297613569451 +2.417945317228329 +2.694303926619365 +3.3800707157436447 +4.07698386309869 +4.942204717506734 +5.851817306325677 +5.521644964660168 +5.308464065526432 +4.3759602666163895 +5.12525186219599 +5.326377524565485 +4.79927042405507 +4.689815137098255 +4.929345727381264 +4.629627410769036 +4.159659789926813 +4.05068341904969 +4.546862629263572 +4.063587336186338 +4.063587336186338 +4.032015131349558 +3.2969381542337883 +2.7285573255343767 +2.053204789329582 +2.221873332310384 +1.5487113620270443 +1.505113865462815 +1.0828201351846465 +0.16954457799413447 +-0.2257949679761898 +-0.4263310228761117 +-1.040810898200732 +-1.8798385315863504 +-0.9104671108270488 +-1.39290327005028 +-1.3382234486358728 +-1.3352465523599966 +-1.3069332764644592 +-1.4300465079654199 +-1.6044901533729106 +-0.7900887175738305 +0.11502348418593034 +0.241594638199506 +-0.000990606947717576 +-0.03372274644085449 +-0.03372274644085449 +-0.3780696651523462 +-0.9216745105945326 +-0.38989060818349797 +-1.2178853639686569 +-0.7723852686183261 +0.04150556502773872 +-0.4554652621028509 +-0.2747465159200081 +-1.1596810254173393 +-1.8044176870331836 +-0.8055953201347099 +0.05826494090949286 +0.7007113934598364 +0.9261113139264301 +0.39606475249174666 +1.0680753952386939 +1.0680753952386939 +1.515712364168163 +1.515712364168163 +0.5377717930673094 +0.49152692941629483 +-0.059371559187006206 +0.5519689778682456 +0.2277451733193978 +0.2277451733193978 +0.07492759531960591 +0.6893135225241344 +0.5687575592355398 +0.9008673015763131 +0.18820520563307097 +1.0558917179428726 +0.48901946607731683 +0.9734224531973963 +0.2628452928405205 +0.9522781692833275 +1.8967592154584418 +1.1382616158371721 +0.7761345001194678 +0.03051079356251185 +-0.48519384678240385 +0.044734102947166954 +0.6702931705512108 +1.3289410202278615 +1.3289410202278615 +1.7014962741866364 +1.7771840309851432 +2.5472053118497673 +2.578486071310234 +2.6670305110746115 +2.746335322054513 +3.561956864188521 +4.428976391331754 +5.293148963378353 +4.424047651222026 +5.0846419841566615 +5.660340387058884 +4.719702262069362 +4.839847845632121 +5.206051074551979 +5.258760352547945 +4.986936004682734 +5.780170391772551 +5.780170391772551 +5.584054336704132 +5.045569360405549 +5.744964169864516 +6.600460082341448 +7.4520447274752435 +6.729417926744681 +6.729417926744681 +7.297452667233724 +6.5730449511433555 +6.438075787142915 +6.440696001109366 +6.270407497344622 +6.245102992591379 +5.615721461741049 +5.265608907126401 +6.055378376332113 +6.607034436945168 +6.607034436945168 +5.713659569816303 +4.9939979238328895 +4.1747643008831075 +4.1747643008831075 +3.187982663246982 +3.988646340296162 +4.8883733243076835 +5.614010192654281 +5.919510302359403 +6.244671264390143 +6.684740609827168 +7.298048403854942 +7.298048403854942 +6.884858863921851 +7.202415214948397 +7.202415214948397 +6.490134400771264 +6.428593820743037 +5.773120010528678 +6.185844172261312 +6.453917883853677 +5.77169425805041 +5.77169425805041 +6.088056020007344 +5.870265791695463 +5.284996592095002 +5.604965528071124 +5.847870864137206 +6.769530748460829 +6.700582192155706 +5.808346113398845 +6.704302646127102 +6.704302646127102 +6.704302646127102 +5.952033434879089 +6.378337640301338 +5.979931667029193 +5.3494678866156615 +4.985113310384845 +5.613798010165723 +6.38523384106586 +7.185566137192461 +7.185566137192461 +6.734413902877809 +6.888605238139546 +7.000900245941334 +6.628944288318787 +6.09028174691686 +6.811147797706718 +6.140160229461141 +5.355934756498027 +4.622588158318794 +3.870215241579441 +4.821987171450434 +4.448201541192301 +3.464852055969576 +3.204253959308028 +2.467255336762573 +3.212183690324336 +3.178998742121127 +2.933121006578185 +3.624422719611786 +3.153285659454288 +2.592041843216991 +3.5026915258670783 +3.5026915258670783 +3.5536411943632817 +2.570226993036372 +1.7229418639101945 +1.3415467765041087 +0.5305178375031308 +-0.40501504037375824 +-1.096537994260441 +-0.5823459375941207 +-0.5823459375941207 +-1.532028848979672 +-1.4476776332746792 +-1.4476776332746792 +-2.251497681297434 +-2.8893068091280334 +-2.8996936493471246 +-2.8914953209776293 +-2.5033211152750283 +-2.172550973997841 +-1.988292850653816 +-1.2059800982935196 +-1.2059800982935196 +-0.9598326372062091 +-1.2346785085539471 +-0.47573850721036703 +-0.8090646751385492 +-1.807702480164009 +-1.807702480164009 +-1.1988222089918346 +-1.7472493473378536 +-1.1790331440533237 +-1.4608043718431265 +-1.9792994752841375 +-2.6499231504440885 +-2.6499231504440885 +-2.9622638428371055 +-3.314784649104279 +-2.463145619470291 +-2.1129560994074588 +-2.1129560994074588 +-1.643088419821316 +-1.7915104630679561 +-2.3795052570168274 +-1.728996855006917 +-2.4281919040190685 +-2.578645633530301 +-2.636173100530139 +-2.0617110704749226 +-1.174490859118862 +-0.20240052230747851 +-0.5407082531933257 +0.24991514842696672 +1.1011943207061554 +1.8163352548627418 +2.0739583231110954 +2.782298169391795 +2.381820810354457 +2.381820810354457 +2.049472582634557 +1.0605659658749496 +1.7052726922571158 +0.9266495453625685 +0.8312973261225923 +0.11634439607352653 +0.588491387983947 +0.6421404381379338 +-0.16964587238934892 +-0.4910333025631335 +0.038530799829880724 +0.07360198033356302 +0.07360198033356302 +0.3213296104540999 +-0.5001819574486717 +-0.024463875351302455 +0.16642006752965344 +0.05764143190161575 +0.9752428676220607 +0.5206581589850554 +0.8197179237115606 +0.5163762373631188 +0.5628613895333009 +1.296983251823356 +1.7191934069594434 +2.4977889534804 +2.8827335503942093 +2.359203283249962 +2.6969603946633587 +3.227965586571874 +3.040165318758676 +2.84973249971929 +2.2616756180853126 +2.738784077158873 +2.638199158059861 +2.638199158059861 +2.067960357188932 +2.5666124762980944 +1.932166934959787 +1.8908824444819645 +1.2740908497768761 +1.5839782104639468 +1.0330892599914725 +1.9179893262682102 +1.7752290758259623 +1.4040239586149577 +1.0553340352993574 +0.42860732363714504 +0.7933023964303734 +1.2191540184171383 +0.8763125669906439 +0.1385124043336391 +-0.6067466046854743 +-0.8572329756962143 +-1.1166787526803006 +-1.163949503410728 +-1.2984975143418591 +-1.6697947258569346 +-2.5752229321651683 +-3.0143666812583776 +-2.3233173518998544 +-1.7525390791855608 +-0.8347645148526186 +-1.349398485581486 +-1.417042734843879 +-0.8074841994767865 +-1.5904400066236892 +-0.6137267368602919 +-0.6317994505796877 +-0.5707594253329163 +0.10762140150357091 +0.3489288002918617 +0.3980502982584383 +1.1592067475476706 +1.1494114863692597 +0.6668573985042735 +0.5324435140719839 +1.268120867793702 +1.3094370468775745 +1.3498839751792988 +1.2898528863477297 +1.2395964606223306 +1.0536564158448316 +0.3968987714265553 +-0.23553763956433893 +-0.06327370733876769 +0.12619095938124003 +-0.6216260450547872 +-1.2881614494005251 +-1.339859276868805 +-0.6806418421355012 +-1.5607495081203924 +-1.4628269287119648 +-1.232538405024683 +-0.5857487304396831 +-1.1713436443259773 +-2.0125248425947913 +-2.5954764636942897 +-3.197646619477223 +-2.566873501878907 +-2.8924125595331085 +-3.262382779136396 +-3.4689789738020047 +-3.1793417106898323 +-3.7513088147881826 +-3.216366761469669 +-3.74813077997694 +-3.2577603061479037 +-3.3505934875891303 +-3.3505934875891303 +-2.6512701954948126 +-2.6512701954948126 +-2.8830342555475563 +-2.2160629891032535 +-1.4824451156717566 +-0.6657424556956042 +-1.0471112551445363 +-0.1685032652082148 +0.3442520504457689 +1.309701997243137 +0.3484632057877626 +0.041025490071627924 +0.0035459780283955133 +0.34287375917728236 +-0.20101379733612412 +-0.31019690111752996 +0.15073187129641308 +0.8489190671060768 +1.7956966205269067 +2.209150600370795 +2.209150600370795 +2.4808917626755456 +1.9731383275629613 +2.435443739327548 +2.041084000174566 +2.1826416570376312 +1.2876970055263663 +0.768914000300712 +1.2208638000590184 +1.2535659625689117 +1.810513974395905 +2.58033097659757 +2.7897921498310287 +1.8851439892879027 +2.8622302323565267 +3.46654799160501 +3.102214592287592 +2.6042376758474215 +2.5304290640272042 +2.802609822170815 +2.1324491579374047 +1.2877302950600253 +1.457456665015446 +2.364693045697121 +2.285375912591693 +2.1492963347618503 +3.148058889873279 +2.234611502487456 +2.045999221106562 +1.233247595362009 +0.9202525855856095 +0.8320268202850591 +1.6679131888996106 +1.4803839245792152 +0.9288472835268546 +0.12798023255285074 +0.6352779356157265 +1.2281899962148108 +1.586964546475618 +0.8608083327307474 +1.6672982166127244 +1.3509914125702274 +0.8507751255622582 +1.4495039477856335 +1.4495039477856335 +0.9882394580253951 +1.8820485217632612 +1.5786094755748201 +0.6251667370993828 +-0.0572000829837962 +-0.39671683947766667 +0.03670194415939865 +-0.4906930439360314 +-0.09277578436528111 +0.5690161851101784 +0.18272818741118702 +0.9300589715796121 +0.3028383472651066 +0.892581815036827 +1.443827869920982 +1.7379037159731008 +2.2119930081154915 +2.2119930081154915 +2.614660771429836 +1.6562327679083022 +1.1954864191072825 +0.799989917708758 +0.2517503572527652 +-0.6331489887321774 +-0.697381502796595 +-0.1346473349921793 +0.5666374257744142 +0.8108636700997751 +0.9813366182866874 +0.4271755361451135 +1.0195436991412385 +0.6573623713261686 +1.2568500401458271 +1.0855300661556146 +1.2583845162134768 +1.8794864884586033 +2.169337120688475 +2.597053306438167 +2.747698954281991 +2.747698954281991 +2.8933241610858285 +2.15281660327096 +2.370778656719071 +2.366421309362706 +2.002296811132589 +2.9811546901807517 +3.350023658139139 +2.3809403626851315 +2.995933574617523 +2.6372400077958487 +1.9937208995878828 +1.6931380332923847 +1.855176922582331 +1.6518176396741233 +1.9442846573458954 +1.2666155745164085 +0.6353038152793125 +-0.19233145107925642 +-0.6945093473683375 +-0.30395485462889704 +-1.0570994731038252 +-0.5837307970629722 +-0.7324581080066314 +-0.04860803353589327 +-0.11127850859674426 +-0.07887073423494573 +-0.305119782751882 +-0.14717119274907142 +0.122511620822923 +0.2958653903818912 +-0.12908049422774992 +-0.8446506874686937 +-1.2465006224990351 +-0.6393808457732628 +-1.6255915186457683 +-1.5308428129287863 +-1.5308428129287863 +-1.0643534847697782 +-0.15654099839532454 +0.0022680022610401807 +0.5878973832443986 +1.0506299484357648 +0.8001434177336278 +1.2155798594156897 +1.0181046958735993 +1.1348777180056386 +0.637709179520585 +-0.07800892666945558 +0.3624853114154364 +0.49847780858817237 +0.6937057998067045 +-0.0013645014718394188 +0.5602536262301551 +1.220567867380101 +1.220567867380101 +1.6518838740899764 +0.662550561316767 +0.29751986494142313 +-0.3536425043742214 +0.13186033022207055 +-0.7127295731124238 +-0.7127295731124238 +-0.9174134187322307 +-1.8715808083756258 +-1.1253679910526553 +-1.561918006522728 +-1.4590860843624964 +-2.160066535616953 +-1.6242353918064674 +-0.6680187084574982 +-1.1654675974521673 +-0.6644359083273728 +0.22987516003639108 +-0.5338034313199149 +0.36711077985667706 +-0.010900361449686868 +0.7503553705670113 +1.3037856380205417 +1.1175060517543347 +0.376651039477933 +1.257019749124929 +2.1858495749992017 +2.91734654319215 +2.285377839262796 +3.0919756245666297 +3.654304850678191 +3.8329217591331677 +3.7314696039472124 +3.858037987995691 +3.1428849848301113 +2.251279782138792 +1.5740704699944466 +2.1547148096152595 +2.654531609044022 +1.781644503963895 +2.083355590480548 +1.17565570082554 +1.0389421940594996 +1.1444892879577255 +0.9277444417747375 +0.5729345857360104 +1.083404108273553 +0.9694255746453028 +0.8140258533066489 +1.0726773506896867 +0.428530656264382 +0.23713469454836622 +0.5736665046323018 +0.9629207227824715 +1.6051332618042848 +1.6051332618042848 +0.9096018202618099 +0.5168943394491893 +1.3880942510203407 +1.407725573126715 +0.8521471525302677 +1.7068138827468007 +1.6479469885109856 +1.733259532425898 +0.8287177289683556 +0.8035326939624624 +1.3044394361265832 +1.4175769910131653 +0.43476126963041506 +-0.3445088458112908 +-1.318510196186015 +-1.3065139193434805 +-1.7425385956186643 +-1.394202352459839 +-1.247458381200244 +-1.657462516569892 +-0.7831446929846315 +-1.5609944953836354 +-1.1420974178845507 +-0.15727439610293747 +-0.8613268952714046 +-0.7787876307018637 +-1.7740168681750563 +-0.9315998378333419 +-1.0854292629845332 +-0.7813776972918325 +-0.4962751238938319 +-0.602041107489894 +-0.3640206359796324 +0.3627608497590825 +0.315574369517176 +0.2898993743147601 +0.9734797346155907 +0.8696568898243984 +1.4789562743715625 +0.7399761064786194 +1.363360303484579 +1.5280890392310076 +1.3909554649493678 +1.3190058143398025 +1.8912933520477517 +1.1330926597399755 +2.0452659813828644 +2.696209348185037 +2.311327731428157 +2.311327731428157 +2.04093824688845 +1.8960134307253682 +2.4226886483438523 +2.0745808694394605 +1.6210915489545874 +1.6385199347548691 +0.8446028111160919 +1.3233200851589917 +1.1335994716515225 +1.1335994716515225 +0.28538135263813835 +0.768989652116937 +0.5244045083852295 +1.084367237001398 +0.8308045913335952 +0.9811803925382537 +0.5954585838681237 +1.1306000763387338 +0.7588498174085673 +0.09085167899819913 +-0.44621280699248256 +0.34875392039277553 +0.9478724678824636 +0.5824815037447779 +0.6655263350919538 +1.022640499045698 +1.5314970712788796 +1.8759685575204847 +1.0501816922472305 +0.46070018452921513 +-0.0047316240719731395 +0.9254494150667537 +0.6639937823864444 +0.861485753430276 +1.7743327820936583 +1.8912619781586244 +1.7850077123328036 +2.1202357319773015 +1.759412247897422 +1.6699420185770997 +1.735102142772236 +0.935374679481108 +0.8151744981967975 +1.2687547750249895 +1.6811576824447274 +1.041719283461694 +1.5835112661037312 +0.7047560178684582 +1.3813794144632279 +2.1383925199138076 +2.843623769055799 +2.7898857612690926 +1.849093994520964 +1.3043548420088853 +2.098547530717989 +2.1335853090897428 +2.9644484246801506 +2.32427122771636 +1.3552414964588686 +0.8150704895339891 +0.9305208393407887 +1.1373885450361925 +1.327174852762859 +2.2613439921338045 +2.2613439921338045 +1.7769436876287723 +2.1673961307771172 +2.073345552417985 +2.073345552417985 +1.2080190569939326 +2.1668449539144077 +3.0614697920292766 +3.8395986430232085 +3.8395986430232085 +2.92585517929246 +3.026001693048764 +2.105388564661294 +1.5419056508137452 +0.7790343539698756 +0.8183759207385655 +1.1719892853460487 +0.6896689482828763 +0.47728792030170686 +-0.35916013151917614 +-0.6983618970140443 +-1.45706981438352 +-2.4358073013177175 +-3.098312637528943 +-3.098312637528943 +-2.4017795578106944 +-3.13145781492035 +-2.7787674916773906 +-2.6167349623352854 +-3.2277023472982007 +-4.162316167289724 +-4.328266851862668 +-4.425058498763578 +-4.78146505193935 +-3.8115464544428233 +-3.8049183283679273 +-3.294456482400112 +-3.294456482400112 +-3.635132579328636 +-2.655336549179866 +-2.9662042617816975 +-2.1558931004193935 +-2.520720122527496 +-1.7554340426344173 +-1.9999556048272016 +-2.5301190489019616 +-2.574732154061536 +-2.007384270786753 +-2.2864087756362337 +-3.0423484176011986 +-3.90233269985499 +-3.7419369511428116 +-3.7419369511428116 +-3.429365796739712 +-3.3957074851935563 +-3.3957074851935563 +-2.8760670001176547 +-2.4525907877303883 +-3.2291433147959117 +-2.714492255177104 +-2.714492255177104 +-1.8155692607551308 +-2.4663746144013636 +-2.4508764495406163 +-2.2169434640499066 +-1.7232993912005254 +-1.5428017325807077 +-1.7968184554947517 +-2.4451808091100147 +-2.834217338898984 +-2.7716725085297087 +-2.3296662061340134 +-1.8359357815008714 +-1.1166815848178993 +-1.1166815848178993 +-2.0792091456655655 +-1.5590764812993398 +-0.820620625017898 +-1.3051539497497582 +-1.1752792232715508 +-1.2040612715468129 +-1.3535133877821637 +-1.4858056415008538 +-0.8244119112854553 +-0.5772749073049646 +-1.5702920992294074 +-2.5396486350927763 +-3.4621133197570084 +-3.3890642815805103 +-3.1112408841944097 +-3.8515793835985095 +-3.8367547486092675 +-4.7453785784624785 +-4.848157763733236 +-4.727024953274934 +-4.041219449219454 +-3.3476394691278695 +-3.164304019622042 +-2.556975598787745 +-1.69453310434174 +-2.342922324665339 +-2.449144495024074 +-2.725268607246487 +-3.0425344418620566 +-3.1770770838538036 +-2.5987058103609186 +-3.0319934720999537 +-2.29379392228497 +-2.2874684897383046 +-1.6720064128834058 +-2.30350701349479 +-1.6411891270539956 +-2.0751152476124752 +-1.587672036626992 +-0.9181228433751716 +-0.9396096941387085 +-0.49863230505301803 +0.4167793188906227 +0.6249607797676483 +0.5936052691973999 +-0.22093070409056748 +0.7054473984642775 +1.1673470725566337 +0.2437192910921111 +-0.0865273371919314 +-0.6411005731212803 +-1.033175940953797 +-1.902436758259915 +-0.9513471740331343 +-1.2426286742022197 +-0.9813676720555942 +-1.4615107196907036 +-1.2111935407445895 +-2.1395535250353945 +-1.357275895679601 +-0.8585139865401115 +-0.6835725049417265 +-0.3988375306724632 +-0.5779296973440912 +-1.3110891069300807 +-0.7246464999714475 +-0.9838175941491422 +-1.6724273396946234 +-2.4863860157574593 +-1.7630774775101994 +-1.7630774775101994 +-1.9473042056555765 +-1.3234979970776832 +-0.7838052299023495 +-0.4283349593442758 +0.054086271967756616 +-0.3661078229325526 +-0.05714345229131934 +0.050029865079420976 +0.21436529161615148 +-0.202201120796198 +-0.17790634058110655 +-0.1910958838263338 +-0.7804708434038762 +-0.2043295990149766 +-0.953292244401719 +-1.3236462998827432 +-1.6104086494294614 +-0.9126512819380384 +-1.6098066122872237 +-1.3548849754093737 +-2.074486087014212 +-2.9937109669757085 +-2.3570207745273914 +-2.132179598656185 +-1.6890609046112914 +-1.720003466910414 +-2.7180642254228573 +-2.7180642254228573 +-3.33287093288885 +-2.800465001880735 +-2.032321861739807 +-1.1240418537986492 +-1.5136406511350722 +-0.5553096320374866 +-0.5299371208403911 +0.09857015760620191 +0.7048635667036467 +0.10598269030873309 +0.0635142538731891 +0.0921704974118257 +0.29980275786157373 +0.8824851054831363 +0.6033246538630475 +0.40025878008729177 +0.09376610422595189 +0.06766855130861205 +-0.48833958992913507 +-0.49977234157105266 +-0.7346338463895107 +-1.4099941098985447 +-0.997610130176867 +-0.7999223088674428 +-0.9655710296164192 +-0.92058552153194 +0.03760943724984356 +-0.39699350559943025 +0.47592325955302983 +1.3368095438148 +0.3635398934264482 +1.1236492469029722 +0.9701033770051061 +1.037004725246856 +0.5856785714622671 +-0.11445218722216921 +-0.05439020073823786 +-1.0498918874748036 +-0.43337127404152964 +0.23316802153652616 +-0.23763414364525615 +-0.6813750414661812 +-1.3016717236182724 +-1.5834785332738077 +-0.8664714967668421 +-0.8664714967668421 +-1.3064324896287194 +-2.069330603931289 +-2.0775249426180746 +-1.276806602068619 +-1.276806602068619 +-1.3508272061584625 +-1.3508272061584625 +-2.148806125249343 +-2.647523216875803 +-3.513815568560275 +-2.5230927910103866 +-2.1141570128433314 +-2.7191191300171593 +-2.9200622713939652 +-2.628249065372362 +-1.9023282175196705 +-2.6531493840833447 +-1.99560134458903 +-1.9832786261230384 +-1.387781601801782 +-1.6816016932711921 +-1.9615831766914784 +-1.234145317524756 +-1.284432322726747 +-1.4437841872771222 +-1.1442066791381422 +-2.065485835288258 +-1.6661505281932725 +-1.1766497333018968 +-0.3609577360515275 +0.016344801044898327 +0.40551201814533044 +-0.5044831169561632 +0.345166783425656 +0.34336917794822075 +-0.1699695104178528 +-0.2412034546430124 +-0.5469480116775901 +0.14904824933511518 +1.0587114330811525 +1.0759219732538419 +1.451874255886548 +1.061160115923495 +1.2417655382612516 +2.1918428223305355 +2.7596454692120673 +2.3114780260881833 +2.943560025778848 +2.023402769108978 +2.8491205904840995 +2.958021703238977 +2.8723002202878245 +2.7913895130328417 +2.468711330644022 +2.6309223461957014 +2.723498147944481 +2.82770245763258 +3.078363399865982 +3.8576429885483865 +4.318491186056823 +4.807166827393276 +4.2948578693372745 +3.728788966018901 +3.032913768341503 +3.255123672745599 +3.71349987474992 +3.522945087915512 +2.6183792957381513 +3.146829974150285 +3.5749330282916616 +4.083128817908998 +4.671398792339499 +4.255654108186205 +4.255654108186205 +3.3202427591755477 +2.6427207577231226 +2.3619807374933686 +3.167141766904401 +3.443567368737313 +3.011592468463285 +3.680917064920452 +3.1856626722629993 +3.3099867958164 +3.5250395119015607 +2.593487673882457 +1.8416624542312412 +2.4040593112809443 +2.187912879058561 +1.5845048188649091 +0.6592459878727326 +1.2743560198525021 +1.7843774946916537 +1.0764257156263108 +0.7367643846029749 +0.579997258652645 +-0.08310173568764401 +-0.4933442664379776 +0.026217799537761155 +-0.4024059675435776 +-0.0967302051395953 +-0.4481699739903723 +-1.0685365778226754 +-1.0685365778226754 +-0.9496528110381677 +-1.4717446697226142 +-1.8457528836156327 +-1.644700078361804 +-2.289726170207765 +-1.5246633752812935 +-0.6325526746922872 +-1.1485767408635048 +-1.0897707930252896 +-0.8483538302843106 +-0.8626611121807223 +-0.8626611121807223 +-1.7815437978913389 +-2.6778706512238317 +-1.8648641237142654 +-1.886632520111565 +-2.746985601637152 +-2.3418043981830152 +-2.6759818998918536 +-2.6759818998918536 +-2.0116957556735104 +-2.129484601384636 +-2.292949518298234 +-1.5760807991035592 +-1.2292586344495622 +-1.005329988133103 +-1.8246189636297712 +-2.7419036540474564 +-1.8440379223939374 +-1.473349263360243 +-2.1479422405622506 +-1.5172502958611755 +-1.6821291559316065 +-1.5152568164562166 +-1.0766273822726293 +-0.6092987778204033 +0.38661541202880634 +0.12068080137649162 +-0.0034199488564519154 +0.5243587692579506 +0.7201772031056217 +1.1225090624340799 +1.94131505011741 +1.9403039042925694 +2.521324291133382 +1.7302329814389108 +1.017225550681157 +1.188106426264385 +1.6355312616731812 +1.89592053927951 +1.0163492088406485 +0.6689877949225517 +1.4847842719442332 +1.9618464218651688 +1.9618464218651688 +1.1288523632094247 +0.7736632907336948 +1.2533239389291047 +1.4926633686294126 +1.3731646213425512 +0.9908905084015466 +1.4797931437952645 +0.9667944662439996 +1.772455609371263 +1.0500436321594473 +0.6342148992312232 +1.3329502529989035 +0.7037288555134753 +0.791893324935453 +1.1503880559427766 +1.8335766241712235 +1.3662387916285064 +1.5857136754587928 +0.915650125099394 +0.8921427185117478 +1.6833388135487275 +1.6833388135487275 +1.803565312097851 +1.213517674501644 +0.4403264998136769 +0.4403264998136769 +1.3044431827272098 +1.4721185488234247 +1.7113144789073313 +1.6456743972775798 +1.2117323145265289 +1.5406510552423298 +1.5406510552423298 +1.7292543042202997 +1.7008902830568764 +1.9362785452940403 +2.679524797179912 +1.9350593006259933 +2.4438043044019615 +2.9190688178830344 +2.541009430937449 +1.5988060907161805 +1.7541347613624045 +1.539392475464913 +0.8546779261439565 +0.9238013733181811 +0.32508730084496773 +0.37504178355378803 +0.5520277685089938 +0.8268863706102669 +1.0930947100982318 +1.2004945803742173 +1.4209868909130123 +0.6687720754886757 +0.028786445734652943 +0.330192489980609 +0.5421991650444815 +-0.24410677572390904 +-0.057674770750409055 +-0.865096707070298 +-0.11135942372814056 +-0.6411619829170685 +-0.6306893172362862 +-1.1533567454947244 +-0.27706189445536267 +0.48916183187807283 +1.1129559240254125 +1.7294814140669152 +0.7452903512279361 +1.745137101924639 +2.211247064206928 +2.599434617143469 +1.6843510711622358 +2.632247708768759 +2.906313893129688 +3.37802426022185 +3.37802426022185 +4.122411594622928 +4.122411594622928 +5.045014701441708 +5.239383196170451 +4.945445035477329 +4.652744755020776 +4.043906744497605 +4.935233937198208 +4.782096026810092 +4.782096026810092 +4.46489408281758 +3.61616394834076 +3.0529491643474636 +2.963286749382658 +3.5742865107584176 +4.286661648582877 +4.318677250697483 +5.08616247615549 +5.08616247615549 +5.231013100412753 +5.483437773171586 +4.716400800017463 +4.705422020025453 +4.212386708013518 +4.93358920207974 +5.33225824417008 +4.80640524849078 +4.808851475605383 +4.36520928414901 +3.8872568983675193 +3.198544346248487 +3.198544346248487 +4.191773030027412 +3.6686604982388173 +4.121003839447356 +3.7737296906121425 +2.973126182680944 +3.2405149537816977 +3.388312768476882 +2.678256483266438 +2.67492639790346 +3.362273247713788 +2.619600297122232 +2.940886228939881 +3.6355084291213613 +3.0420774725492796 +3.1045511955961107 +3.1045511955961107 +3.3292215224196964 +3.9439878047831627 +3.455451162654136 +4.404799396363464 +4.613145644157636 +4.0053150006682845 +3.4780195730002004 +3.6284204068857484 +4.294728553501939 +3.9485297576322735 +4.392712732166655 +5.211886281044327 +5.45218031605034 +5.847143860246212 +4.944025324076241 +4.973208036880402 +4.740060372567706 +4.563229955160399 +4.79539066411008 +4.036314196025709 +4.484558964915699 +5.3107095050011175 +5.783223345650402 +5.470077516905425 +5.75952923043822 +5.20879336498784 +4.367549707606114 +3.8314494086264768 +3.3599004624478006 +2.633690986959058 +2.6980892951807514 +2.6998974606215556 +2.8825205158988823 +3.7203013723099856 +3.2630344198077403 +3.6222505458082184 +3.0971546160932943 +2.131251619072013 +2.725429700940468 +2.2850670525064603 +2.1383248765148584 +1.6927644019346144 +1.6941836267418113 +1.78529954510661 +1.8558834200818506 +1.9645883139997753 +1.1558891167067733 +1.0734515979343562 +0.9165270648783469 +-0.054614532244536496 +-0.2145904985864997 +-0.9579257963005681 +-1.482245658554602 +-1.430851898892081 +-1.319131018399306 +-0.8449106142673064 +-1.2106848744315077 +-0.9389460066736914 +-1.1613733802433641 +-0.9352701254513642 +-0.24277268452212875 +0.45031948810130995 +0.707872648417468 +0.10882463909671314 +0.09804137196750318 +1.0349126932393573 +0.04003733134377008 +-0.14811856580903882 +-0.028987227717320763 +-0.8648032066083072 +-0.30243215098697374 +0.16140823458679432 +0.8659892570831708 +1.240086731136243 +2.0393719741658964 +1.5773198025783102 +1.7750388921307105 +1.7257215919417392 +1.7257215919417392 +1.560699014699193 +1.7517562264851059 +1.6976407087448804 +1.2700228664914102 +1.939924847224609 +1.8259477468074876 +1.3214951203924803 +0.5550857046228068 +-0.3789010977866867 +-0.7621869050373057 +-0.2035666126217649 +-0.09097887802684113 +-0.9054786463096222 +-1.6151208480309287 +-1.6124998172010514 +-2.1438460093015372 +-1.4598719386022592 +-2.084925039987734 +-2.084925039987734 +-1.2877978073343606 +-1.4600072772898978 +-1.4590234712761672 +-0.7065561026795479 +-1.6546224225112593 +-2.1351324391349613 +-2.489617784148222 +-1.6391226228087854 +-1.6391226228087854 +-1.4217762232273907 +-1.82232319543578 +-2.3192043100149897 +-2.968470106017067 +-3.3130943573055824 +-4.076246597036452 +-3.2391846919357885 +-3.9449679285709256 +-3.9449679285709256 +-3.8694500348747476 +-2.910055221347621 +-2.1082169984090795 +-1.2177497204707972 +-0.4338151316365828 +0.4062600728492203 +1.3838224283422111 +2.157052928769403 +1.7916806095619155 +2.5112769188173454 +2.115904727190973 +1.5554606511493243 +2.3305472206100086 +2.396578934061497 +2.5870732425612966 +2.9778786286126038 +3.8089269290602363 +4.207917880700586 +3.304003515748054 +2.941123223910862 +1.947627547809019 +1.2332577059856613 +1.2332577059856613 +0.5654397032040863 +0.2283263343541141 +0.5153958596032525 +0.5153958596032525 +1.2223952288371667 +1.2258666132244695 +1.3942664686223964 +0.54171147747064 +0.54171147747064 +0.7178161513977199 +1.2766073360808732 +0.7723683258711636 +1.4392148365627873 +2.090287603497117 +1.2433333850673307 +0.9995458032653802 +1.695754720371538 +1.347997244339247 +1.4999480011199418 +0.8227257171205413 +0.15890656482632726 +0.3212614389970325 +1.2976964539019826 +1.8711429102959103 +0.9708556472603849 +1.0157612294796463 +0.15656660830406754 +0.43093122868096434 +0.9933178373358362 +0.8879981349036637 +0.8718631886456103 +0.97914830619512 +1.0762605771652933 +1.4993632793417562 +1.8293215217465228 +2.8185931548740024 +2.5273737271989933 +1.950102693068962 +2.152470957976359 +1.6839804077014477 +2.4989741023587024 +2.006619440194395 +2.5817466049313307 +2.378180615725256 +1.8024843879202173 +1.0490934393355626 +1.3302697185471384 +1.0033673278287902 +0.6740605231265336 +-0.11217410266415528 +-0.0037138242013760037 +-0.043074596966835355 +0.8658964321909617 +-0.03818653900369329 +0.7242066914683734 +0.36479812403238554 +1.2877895664487755 +1.8756134653312861 +1.2362103076101587 +2.1375127006720698 +1.6257178471702625 +2.2936525916965684 +2.187076062030246 +2.0286838081205936 +2.84293825106108 +2.5486340184871987 +3.377244659455335 +3.9273030371229067 +3.183810991514072 +2.9465694088408516 +2.8031475663810888 +3.5543694036300115 +4.419400372576051 +5.296397955368381 +6.036634565595988 +6.036634565595988 +6.372786154677746 +6.372786154677746 +5.75066152764102 +6.183424937875923 +6.5094042962794845 +7.163581336846585 +7.42261030166229 +7.1174371318046665 +7.409544442356875 +7.980861626009548 +7.019212630289527 +7.600583233515884 +7.180726775589697 +6.292157205437156 +6.012731561160114 +6.482462417623314 +6.034812522682948 +5.307953936463839 +4.891935532232988 +4.8008752443257 +4.850834659360031 +3.9209873053461197 +3.4094316570402015 +3.9490807014090645 +4.253086980845621 +4.758022105091293 +4.273409726648637 +5.206257025696177 +5.9305130901475165 +5.584173038212341 +6.432845017755238 +6.287186443074259 +6.287186443074259 +7.214773920357125 +6.922270867575746 +7.534169118686789 +8.519381064655759 +9.483260849402349 +9.483260849402349 +9.2437561922178 +9.962543282844878 +10.937547432584601 +11.210704688658137 +10.481082060757316 +10.55644466576577 +11.18244833821258 +10.80226877046565 +10.805579531854521 +11.126817179695754 +11.990207212003986 +12.442021912032454 +11.932432262720019 +11.490250933489914 +10.6897915661147 +11.332079878219927 +11.278091838462679 +10.626476310957681 +10.626476310957681 +10.817181100431473 +10.988380105809922 +10.822926760155493 +10.822926760155493 +10.050966489245843 +10.694555408383291 +9.979424403582883 +10.036693120656 +10.036693120656 +9.325768258649104 +10.018882543778677 +9.46364773144872 +9.42967751742874 +8.986798130739542 +8.986798130739542 +8.352192491916023 +7.739111012721555 +7.739111012721555 +8.505372086464565 +8.453018905810465 +9.087468328432188 +9.087468328432188 +8.52030927618847 +8.52030927618847 +8.560966382985736 +8.417227709961763 +8.417227709961763 +8.658228593453568 +8.208864640999098 +7.66770958639505 +6.674342156462163 +6.700808118037678 +5.899124226656643 +5.082792569479321 +5.679859622373954 +5.172217537494748 +5.158118397975792 +4.388118956429267 +5.359467222328616 +4.375980287543807 +4.4003137255182025 +4.439315048707554 +4.666163510016073 +4.666163510016073 +5.506661072356119 +5.395173054859776 +4.715898037083718 +3.799124787281701 +4.37822915124663 +4.37822915124663 +4.083730282334147 +4.662031521233338 +4.384840100416883 +4.384840100416883 +3.8452091023297648 +3.7541365006800835 +4.2218646279496905 +5.178747535047189 +5.500227190874412 +5.724610893248757 +5.3326428347158945 +5.649366611740186 +6.30988658723271 +5.382146267569441 +6.0365884774463705 +6.070364183593839 +5.178632675885627 +4.725502013652799 +5.70408585615985 +5.280604724777182 +5.702287282863892 +6.528096612833665 +6.528096612833665 +7.401436755844104 +6.687374390873535 +6.687374390873535 +6.043418618635233 +5.270274582173375 +4.425880023506313 +4.425880023506313 +4.514909437818292 +4.748908178040596 +4.848516921943441 +3.9227803679321362 +4.187162875787013 +3.682409508082464 +3.612735766011824 +3.2537194647922356 +2.9828105641263476 +2.9828105641263476 +2.9828105641263476 +2.9828105641263476 +3.0279480822177423 +2.8072107871934433 +2.6397051581880633 +2.624853999534988 +3.236373645958163 +3.5552483786641647 +2.6206574691796636 +2.361235245474659 +2.7959881474794477 +2.6008333792480447 +2.503919015020686 +2.3806873896230174 +1.5081056236798 +0.6776018783865501 +0.19535553422995566 +-0.2440417332614444 +-0.961562275495148 +-1.556852775625745 +-1.5494600498062012 +-0.9648889475337743 +-1.7067482337126483 +-1.4008603818858911 +-1.5012961068690096 +-0.8462690890731512 +-0.09779249227330222 +-1.0498094632478665 +-1.0498094632478665 +-1.0764778868003422 +-1.2884467214443687 +-2.0076052488368794 +-1.1136329813836086 +-1.0758142289317145 +-2.073199565494036 +-2.643068615386988 +-3.309813996247842 +-3.15471616428687 +-4.112163067793151 +-4.757628613551212 +-4.875097765225437 +-4.146559273554076 +-4.7364483027398405 +-4.94465665069217 +-4.681337712747277 +-4.046949074179722 +-3.8310156929934704 +-4.178262016937803 +-3.250084344421131 +-2.435910057377776 +-2.435910057377776 +-2.062055059099654 +-1.5421240037447022 +-2.039104722144136 +-3.0014171991779683 +-2.493779765530754 +-2.6659886654806217 +-2.4382733643014918 +-3.3847379938612168 +-3.199085824153465 +-2.6717402622600774 +-2.534018792334582 +-2.091052099221965 +-1.6522019655865388 +-0.8840704496699527 +-1.2828791193499667 +-1.8298765687414367 +-1.5702121418239214 +-0.6427239283606598 +-1.0692070827660958 +-1.9852811381053121 +-1.3381919398863487 +-0.9110096713547704 +-0.3764733820065742 +0.2719026022896751 +1.241572525735201 +1.6229480712391517 +2.5449987468255983 +2.037202177585037 +1.284460128585159 +0.6319986319394966 +-0.2612728871865848 +-0.058857888222008325 +-0.12843633227801343 +-0.9424739419183586 +0.04265265979946309 +-0.3222553771375287 +-0.21452396992815648 +-0.8519974770709107 +-0.5425606969709755 +-1.5190387337647195 +-1.4762465384447938 +-0.5560642730689125 +0.34489672199202115 +0.32309733341052393 +-0.27810368412343245 +-0.7687761167782803 +0.17950440576843318 +1.0493440886686825 +0.24257604542344158 +-0.6220216840967421 +-0.7636889007755187 +0.13384635591450678 +-0.17767928805814526 +0.8023120246201871 +-0.023069962826794077 +-0.9568270567179675 +-0.6427446561936525 +-1.0810256128079136 +-0.4191962739032986 +-0.6721870660162595 +-0.7262557994309486 +-0.08466286161023118 +-0.386781992427084 +-0.1352210966062558 +-0.26510879083458905 +-1.2633729080018818 +-2.084556254381023 +-2.794125449314657 +-3.6439239879714176 +-3.679228261461835 +-4.523121879128648 +-4.402093232064827 +-4.282717077801377 +-4.913441393910786 +-4.8872982135043666 +-5.525214845606688 +-4.935720095154066 +-5.848422261113018 +-6.544208333573578 +-5.841220514629043 +-6.192969225550958 +-7.184460459582394 +-6.4981895370394165 +-7.054929899469899 +-6.132191928198493 +-5.5316482347127 +-5.461624522184094 +-6.037323811273507 +-5.476226959912355 +-5.720114493016607 +-6.2796930575532635 +-6.2796930575532635 +-6.078543703083563 +-6.394510864932504 +-6.4783237032358025 +-6.396822323205603 +-5.415725301080629 +-4.91052801071958 +-4.9503419989166035 +-5.6604442325367845 +-6.564207461049332 +-6.564207461049332 +-6.132085622900207 +-6.77182780630703 +-6.337725120270613 +-6.050011178594287 +-5.63741775990758 +-6.508480804494767 +-6.508480804494767 +-5.639251952975233 +-4.788391220005883 +-3.91110289913764 +-3.2913426090520588 +-3.2913426090520588 +-3.2913426090520588 +-3.457458581881892 +-3.051042264615928 +-3.3578413607957045 +-2.712637742494396 +-2.0978603822295705 +-1.8287077996334142 +-1.4034746623648628 +-2.2913557440068084 +-1.4354529460497139 +-0.8223503508321142 +-0.5368476176825911 +0.10483323649246357 +1.0838357176783138 +0.6969221887454519 +-0.03822112425643687 +-0.6632856467352876 +-1.3745461434419535 +-1.0620318057424458 +-1.8997181756352641 +-1.4650573864693501 +-2.2439593219677905 +-2.961003729187981 +-3.225587661970143 +-3.9960158421358813 +-4.170965079326363 +-3.54484551954058 +-4.01314173655256 +-3.435617972149533 +-4.121090766269431 +-4.209298094200533 +-3.8827996931443587 +-4.482833250950522 +-3.5293892446364667 +-2.548166500074442 +-1.699760912901843 +-0.8422077740910596 +-0.18766110457986906 +-0.08998108086459 +0.6530627066391292 +1.3269805867504085 +2.016546676528625 +1.7131785928229735 +1.5833641979965623 +1.7490583928324146 +1.4589040234887256 +1.0591802369210916 +0.5085446447024218 +0.0827320127570973 +-0.5918524606136036 +-1.2054412385253919 +-0.24219567212917048 +-0.7448829167575317 +-1.5955308971880147 +-1.0598841772272187 +-0.6783324011081344 +-1.4659251975515462 +-1.7672050729259086 +-0.8170234425572269 +-0.5413193019872093 +-0.8185229363994898 +-1.6526731338785994 +-1.5025352373494087 +-1.2306872039445786 +-0.437704129246534 +0.485784541070716 +1.04921846186223 +1.7649409252206028 +2.4041402802851737 +2.7319354759505714 +3.2182421210642387 +2.8134800064869645 +3.4445843234863514 +3.6685313890632987 +3.4108222702089592 +3.4108222702089592 +3.9954153847691614 +3.9954153847691614 +4.1790709060130755 +3.569546099260144 +2.967622498049807 +3.6271313645428083 +4.600875351360504 +4.719153284760887 +5.217830628669102 +4.771112922802262 +5.138563503502642 +5.295383467444644 +6.178159823324208 +6.867284112599072 +6.261281457058078 +5.286840896620459 +4.424222800032748 +3.9267644927926497 +2.9978338354811487 +2.576216372888189 +1.5991764581978887 +1.2304709000273735 +0.8292158506787511 +-0.11274243583174515 +-0.5903948828722831 +-0.8919364891021005 +-1.363588770525034 +-0.8299701526068544 +-1.7262025882298733 +-1.4968567170104226 +-1.8754301125837793 +-1.3918807777081792 +-0.8358037663761417 +-1.0356762965365398 +-1.443333198219292 +-0.49521178528069343 +-0.44481809375673276 +-0.9681740318315282 +-1.2282395205553165 +-1.7089536559489265 +-1.0405745926912449 +-1.1286027435416397 +-0.13701653055058016 +0.34203042440455955 +-0.393809170187603 +-0.625231805572067 +0.10896477794256387 +-0.030140886700678937 +-1.0159837088488028 +-1.706578027551579 +-1.3587627938998095 +-2.326236212171443 +-1.434019821876471 +-1.3764445666149938 +-2.3743066813715488 +-1.9044978921672813 +-2.581471855841854 +-1.5952354335302374 +-1.3568594797565356 +-1.0212929213543729 +-0.5277064425012183 +-1.3032849393814834 +-2.074622481121138 +-2.525228088639543 +-2.525228088639543 +-2.325959686928411 +-2.4131469504150838 +-2.851247851849191 +-1.9489464374104093 +-2.7466240632170944 +-1.985881707895604 +-2.671355461298632 +-1.6816153601266706 +-2.170299654121673 +-2.2823658532543813 +-1.921221365970056 +-1.7790727868012899 +-1.1807299123769641 +-1.5733243534291632 +-1.5733243534291632 +-2.0736148819807134 +-2.7320933443739506 +-3.0159723504710954 +-2.388136039051406 +-2.046015277281758 +-1.7104417840129569 +-1.7818844381631136 +-1.1169336514821764 +-0.813529837659775 +-1.4558009870074227 +-0.5092481216418041 +-0.22182511384138914 +-1.119780609686997 +-0.810433919795698 +-0.9138327710095556 +-0.03257589726027177 +0.8830885210543603 +1.5339849613832177 +0.8520547105645013 +1.3674538564617036 +1.091329973255458 +0.3835347460086147 +0.8596931080219421 +-0.02496403474536968 +0.6054270885385717 +0.7062847719799663 +0.23003613553627023 +-0.2641759559951702 +0.10426833535217006 +0.9744085849750501 +0.9744085849750501 +0.7076161924084882 +0.865464410409032 +1.6988664779382492 +2.5102451245667403 +3.4223035775133237 +4.2403690720070015 +3.710101570790628 +3.710101570790628 +3.710101570790628 +4.066146375409776 +4.689737493497295 +4.2510997687487535 +4.777743891675417 +4.777743891675417 +4.777743891675417 +5.223717590058648 +5.701809167089635 +5.151629885788461 +4.445180435591887 +4.930346917219213 +4.557265314777615 +4.665415496667608 +4.665415496667608 +5.073384292787352 +5.384983323673238 +4.723789967885514 +4.783480128814277 +4.783480128814277 +3.9641452823440573 +3.7886427902953526 +3.7886427902953526 +3.75315399407409 +3.232205636921061 +3.565328443316001 +3.215449563146266 +2.445375647578729 +2.1327278968754184 +2.909572997444782 +3.3766691664754473 +2.6104713607205543 +2.6104713607205543 +1.9101577049552767 +2.007487594246873 +1.409361277077057 +1.8641557726969502 +1.319555001718025 +2.0483269657044754 +2.1113295574459343 +2.721076381277622 +1.8273247577873324 +1.0460030757524252 +1.0460030757524252 +0.9442117924030132 +1.0787058287896487 +1.0451165578050894 +0.7947342492064905 +-0.0810207278124585 +0.3009281478611433 +-0.6089697101584929 +0.2185939023401321 +0.8002544919526985 +0.6466649789197341 +1.1243546875718393 +0.6894271121775241 +1.2308611781989631 +1.3182869990791743 +1.929059820079301 +1.6061061464374151 +1.6061061464374151 +0.7451479786763142 +0.5357541094928581 +-0.10493105100803579 +0.29916932224292825 +-0.5332390709336999 +0.01458616783210298 +-0.13817079687134193 +-0.21696675714095337 +-0.8526460512194612 +-0.8526460512194612 +-1.3793377905644295 +-0.39915017431972255 +-0.39915017431972255 +-0.24196652620185755 +-0.009177533116738523 +-0.6480168409183609 +-0.7252998337793283 +0.06491712553734341 +-0.24708613023404036 +-0.009089948632877931 +0.13243143937335367 +0.4947980266012426 +-0.43489443574446485 +-0.14400975706123464 +-0.5005040871104273 +-0.5005040871104273 +-1.122448052812636 +-0.26225870653091876 +-0.18666494173861503 +0.4893013620868918 +0.4893013620868918 +-0.13464105578691998 +-0.5326705365012961 +-1.4799520762689546 +-2.367664095355641 +-3.304996180888729 +-3.2216654727018206 +-3.7222930328444113 +-3.498563934788778 +-3.4594323246603382 +-3.5010262237726537 +-2.976081050797211 +-2.064111859413122 +-1.2366461878853963 +-1.7873455472763498 +-2.0883187754612775 +-2.152196056483984 +-3.0661310975044165 +-3.9093552890575483 +-3.5918251831831003 +-3.5560401937490873 +-3.1225292139663456 +-3.1225292139663456 +-2.512831025606274 +-3.045628505855566 +-2.5487980802098194 +-2.224445946457086 +-3.08340165331521 +-3.6258276170702675 +-3.0579659530743966 +-2.754363670269252 +-1.995334017623269 +-2.198910248252729 +-1.6862369388240521 +-1.055075392654134 +-1.500760477380243 +-1.4304891172995462 +-2.1276254265028527 +-2.4533200990891846 +-2.4533200990891846 +-1.483347148565026 +-2.4396113531590142 +-2.073081800062508 +-2.239484130109348 +-1.4468147692431266 +-0.49685383588055343 +0.09469021382133747 +-0.15675681966739174 +-1.0329118361191734 +-1.6856754615320615 +-1.9715992445250512 +-2.4569391813457138 +-3.211650280173676 +-3.4762818835313234 +-3.802605895860886 +-4.518133443245777 +-4.521118380257854 +-5.401095857790142 +-5.401095857790142 +-4.751052592791725 +-3.876010508576848 +-3.540431390853487 +-4.36600914731011 +-4.271953385090059 +-3.3180375469322785 +-2.8198691526582915 +-2.557896241382811 +-1.6861022056501798 +-2.230728801991313 +-1.31686169038295 +-1.4659077342459432 +-1.7773491568422908 +-1.0877850126699733 +-0.6682473914692315 +0.29230518682420414 +-0.6487292051472848 +0.2190709130391053 +0.6601549053985569 +1.2523177948617041 +0.7734820171375777 +1.0110461414650613 +1.8157483017883802 +1.8157483017883802 +1.2405459529983194 +0.9290811352929648 +0.36999704899048724 +1.2018217156536908 +0.5430106612950374 +1.3649509120013352 +0.5916782216083671 +1.5871869033338455 +1.6368117813024223 +0.8536864029630726 +-0.06359141096180565 +-0.39392822552991824 +-0.7971306888020979 +-0.8408439389752181 +-0.19375827635223575 +0.4414677708052045 +0.6466800723889344 +1.01505796060217 +1.01505796060217 +0.1516373756816911 +0.85022758717774 +1.3987578777257665 +1.7645395302608597 +2.539421561746213 +2.3368809964274138 +2.53238751388567 +2.53238751388567 +1.7069306800581163 +1.249091653808239 +1.2243835210647394 +1.7181776253584735 +1.5356791207480853 +0.8516924322896267 +1.6361811932044399 +2.418784874807391 +2.1289144858029596 +2.4238195739815716 +2.15621643826991 +1.9404150031817182 +2.922763059062 +2.8763493388159898 +2.126137573561868 +2.5812882450225763 +2.547891984682944 +2.0345171293698945 +1.7104425526057514 +2.094402106421701 +1.897560284804332 +2.1421729725469563 +2.6226707175540174 +3.439985334797315 +3.597076400920302 +4.14226226742406 +4.683645317622437 +5.476253715406239 +6.300034121894652 +6.300034121894652 +6.20435687629823 +6.20435687629823 +5.5748979212166185 +5.901184731115417 +6.105766629150215 +5.944191216437772 +5.982175958035674 +5.10192388478247 +4.159558230915165 +3.5139113875837005 +3.8473755291786125 +3.595585217529581 +3.7715163671340215 +4.112533272064097 +4.112533272064097 +4.071109172756596 +3.8871916265691033 +3.8871916265691033 +4.509908562996759 +4.686940369235041 +4.838218249853654 +4.951685658970287 +4.951685658970287 +4.951685658970287 +4.474696743433657 +3.7802595762013205 +2.8328617982574 +3.5947067561405643 +3.5947067561405643 +3.906121196746325 +3.555501966845705 +3.7149644386823137 +3.1184644213147763 +3.4775087694813633 +2.857331135752382 +2.4400031095971886 +1.861590861316775 +1.158538416176629 +1.7961191327824253 +1.3996794893503846 +0.5914044798385145 +1.2629754429540616 +0.8924714999822138 +1.4737519479081138 +1.9411303013475634 +1.707548694330972 +0.9802725240917411 +0.9802725240917411 +0.1309895206846734 +0.8333669875180261 +1.6176794274450932 +1.191451010968752 +0.5840942408484482 +0.6265625244414799 +0.36234557973149306 +-0.08526643714827586 +0.6990306682386076 +1.273617337237264 +1.273617337237264 +0.4352703006521257 +-0.006149128179727348 +0.7107665927880787 +0.43806728765298253 +1.147445257973202 +0.19239798023928278 +-0.18224323499096717 +-0.3921274270740931 +-0.7787343432116661 +-0.4896966902056078 +-0.8314858323158054 +-0.651375546457275 +-0.21866972064323398 +-0.48113396290007227 +-1.3149616036612821 +-1.441988859268942 +-1.149142730880531 +-1.1024487728179215 +-1.2826078820811118 +-0.536411940257584 +0.19790105493347343 +-0.3849883532948024 +0.25861757758242043 +1.1332725606160863 +0.27989272340177784 +-0.7024000834649415 +-0.21338847004105577 +0.08583345328488212 +0.8674778168574437 +0.8563033801387318 +1.1927607754543157 +1.3263175998511585 +0.8813829067163687 +0.5949884221990756 +1.2671587579234767 +1.9551133830881302 +2.585448854642631 +2.052181702283003 +1.3921723191819335 +0.42413285102404297 +-0.2564019579467818 +0.4529870594674503 +-0.07947024967369942 +0.6125607899988927 +0.7561367088298685 +1.3798435747810127 +1.4744278176800778 +0.5306116039427717 +1.2870556835897664 +0.34804571275447027 +0.3295885215368547 +0.9108492352070839 +0.9338009045148222 +1.4407215454430777 +1.669819665637745 +1.3672120392309584 +2.357164158325977 +2.2645211461070267 +1.2769438056304205 +1.5784653816920666 +1.4270236386888682 +1.8649355120396758 +2.3252577648451638 +1.9814182677048704 +2.552657400872918 +2.5934087751474735 +2.968236608225392 +2.3949367489571975 +1.919277210558414 +1.0482454604942948 +1.1109854660875396 +1.007552621016588 +0.17917081998369278 +-0.6817501971986641 +-0.7421358441885103 +-1.552722431035762 +-0.6086939312905306 +-0.3341439381518818 +0.05361064750900146 +-0.7363687172677831 +-1.1964942260811808 +-1.602626493106286 +-2.0634514009425633 +-2.4896234912861166 +-1.8137748747593467 +-1.5139214791412612 +-1.0540646416239112 +-0.2517271761025168 +-0.5040606326030238 +-1.0382757984123976 +-0.1246606790961402 +-0.095008883695745 +-0.5366036903816104 +-1.3947388410304362 +-0.8999064166148318 +-1.1544796115328704 +-0.3030822734772447 +0.28579267852936896 +-0.5680834078125243 +-0.2611924670793455 +-0.5330638353602836 +-0.24162651668308077 +-0.6450920004318808 +-0.44383492777545386 +-0.9334138537478635 +-1.0210347059199432 +-0.9881959291592233 +-1.6214182427241577 +-1.865224227131561 +-2.720293177022287 +-2.186224154871593 +-1.6753219506799943 +-1.6753219506799943 +-1.4037093638944675 +-1.499538867152372 +-1.0697761399859724 +-1.7650937710691403 +-1.277988603871955 +-1.0776514104316515 +-0.9852994285141037 +-1.0636976122579895 +-0.8506391017680284 +-1.2322018209047174 +-0.4534470198683678 +-0.29975907329801177 +-0.9806147121611726 +-0.6691101308916039 +-1.52057813522438 +-1.4257797162642794 +-0.5109829289933119 +-0.7602089356388048 +-1.0944920208023659 +-0.5937801092112049 +-0.5862918854112027 +-0.9323471939982321 +-0.2007311831305384 +-0.2009291736330583 +0.04674372266795812 +0.531702585228768 +1.2098565623325772 +0.23411990986971243 +0.07727569541756873 +0.9026744661332441 +0.7523859386403318 +1.3461261722512827 +1.355848265113999 +1.0610959177293808 +1.5095825502289277 +1.138139611774613 +1.8817011978204505 +1.5613195530764088 +2.362936306931327 +3.2079144503383983 +3.938264825930119 +2.9403278624538673 +2.7871720690417554 +2.222766625730897 +2.33492541762471 +1.793845875103516 +1.609814306734044 +1.431271527763602 +1.6489785575595919 +2.577446285475504 +2.1632528953438728 +1.2311405632682473 +0.41883149878011894 +-0.33308417679828883 +-0.052007952867392016 +0.7248244189113591 +0.5570692456929026 +1.3371347286718867 +1.135545249951456 +0.6182076526220286 +-0.0637060957101383 +-0.4382576911602726 +0.5132946589558899 +-0.26486456592307206 +-0.35941201326666805 +-0.04369256929331744 +-0.4862914929475063 +-0.42361720747202203 +-1.1144029812435297 +-1.0106007662815666 +-1.0106007662815666 +-1.1651151820798242 +-0.44161136424353087 +-1.2185112600534038 +-0.40542662939733387 +0.24911929572871627 +-0.5128362453873385 +0.28672712991630633 +0.007202953390343825 +-0.6427404094241423 +-1.0099267347875813 +-0.27222611383454454 +-0.9294257200912304 +-1.1742377069965313 +-0.6222944907476711 +-0.03166259281047634 +0.3781614983211887 +0.7610055120969037 +1.715544133459346 +1.2137067971879576 +1.9988448639951453 +2.515041835193611 +3.317094234858744 +3.3303495021845313 +3.803816801181539 +3.9562988151487675 +4.109550788840037 +3.3286068499380925 +3.6512433441592127 +3.403234087889975 +4.255739943879963 +4.773748248386408 +4.036447948705677 +4.036447948705677 +3.972262056494994 +3.972262056494994 +4.150942844247159 +3.7504144610386727 +4.366784640853563 +3.5020365558585977 +4.173242221966413 +3.6302624819725393 +2.669823661842702 +3.222657722935307 +2.8983513912936876 +3.0525609199464494 +2.806431445631927 +3.2877036503235777 +4.24612276949092 +4.621541832997302 +4.3496426598617415 +4.3496426598617415 +4.107416422168196 +4.54307195419503 +4.059146208838332 +3.657507750560401 +3.1033550094066387 +4.021170980747081 +3.5092163807390704 +3.234580457538362 +2.6520940329370353 +3.1300185630288926 +2.6337551217097044 +2.6337551217097044 +1.6943106021027168 +1.6943106021027168 +1.9152694915009962 +0.9746714147705222 +0.49015804789604867 +-0.11435424429747865 +-0.19951839391142756 +0.09486732312630486 +0.6369175208075133 +1.3081541971917166 +1.7455227825811004 +1.6241224299835286 +1.3636795444196679 +1.8314570137526172 +2.0640360002291636 +1.1442659250054803 +2.0230644221246004 +1.8618496877493889 +1.6543110064194773 +1.1028367329122448 +0.307333437118567 +0.07987616359016314 +1.050618381185973 +0.18144311279299563 +0.004522090945496937 +-0.2662101995699533 +-0.8388778886205788 +-0.8388778886205788 +-0.03138446919158033 +-0.730105308877061 +-1.7066236187478603 +-2.1340222725237514 +-1.6043983343778032 +-2.5111298454864217 +-3.234534439410738 +-3.405675069922403 +-2.5019368291807713 +-2.230907202405815 +-1.5816815092453498 +-1.231607024073509 +-1.574381068478742 +-2.0585387413336136 +-1.0980285646303205 +-2.007464512867581 +-2.104027391642976 +-1.9916544762171446 +-1.9916544762171446 +-2.765962684972506 +-1.794578619302215 +-1.0919941155051869 +-0.8597592571789681 +-0.7778414301386425 +-0.1273184109498977 +-1.067192327530447 +-1.4784216982018026 +-2.1932874312429727 +-1.6578642358533555 +-1.6578642358533555 +-1.9298805385682032 +-1.0647251264826645 +-1.3289315510676531 +-1.170787137415276 +-1.8113676235577743 +-1.019242507986925 +-0.632372119175151 +-0.43158252411270137 +-0.631080560153983 +-0.22487612395849121 +-0.2755018982204036 +-0.8049420192158667 +-0.8049420192158667 +-0.9446135493794118 +-1.4839439246686261 +-0.947614212136449 +-0.46494179370203703 +-0.5303917444560838 +-0.6418619035923232 +-1.0457933972694402 +-0.7854226593400544 +-0.8215070208713527 +0.09781718805623985 +1.0117166758456704 +0.7504628415435294 +0.9979340943298461 +0.013935178590558484 +-0.37192182769490567 +-1.0711320220819442 +-0.9734057855752303 +-1.685757164823974 +-1.162007157646469 +-2.1388556446714 +-1.6356383428534071 +-2.3542557175325767 +-2.2953015373947903 +-3.2190028826023154 +-3.037488918776936 +-3.798821983588783 +-3.9692098318013707 +-3.212013185982224 +-2.9474262305090226 +-2.1472866816049283 +-2.9847915854111484 +-2.0779945047390704 +-2.90573595511522 +-3.1965896060966816 +-2.537402231503405 +-2.4666216660539617 +-2.4109551716955755 +-2.0007332469767736 +-1.314290157603252 +-0.8834873826594656 +-0.1387223365104031 +-0.08177255304498376 +-0.43430867778012694 +-0.667955463538112 +-1.4580639624975862 +-2.0465299700463975 +-2.589451744469924 +-3.1422791671965964 +-2.5104438918271845 +-3.1791165677737663 +-3.4315669670715927 +-3.0386065378247 +-3.838109461977355 +-3.838109461977355 +-4.523034061770303 +-3.6835165167270283 +-3.007872814054724 +-3.1373376761020486 +-3.0529376006804227 +-3.162178680018405 +-2.6188601291956184 +-2.7937816455529476 +-2.098508505192756 +-1.5136577640991227 +-1.0608441826345785 +-0.44519781060596264 +-0.5353236673195422 +-0.5353236673195422 +-0.5353236673195422 +-0.9475029747735626 +-1.5268641992147638 +-0.6299262118341067 +-0.81706863395157725 +-0.9057541955885753 +-1.4675699576596066 +-2.043519328844339 +-2.369551137051277 +-1.4384786893882704 +-0.5484965319124036 +-0.6490287824812059 +-1.2748501214269798 +-0.4150491333299131 +-1.022517000580237 +-0.9986661226841014 +-1.4964721736965352 +-1.4940750747498444 +-1.3458831371674114 +-1.7069151261527442 +-1.127250476798824 +-1.3901741449880678 +-2.1301132602174113 +-1.7767702486430097 +-1.2621763579651786 +-0.9986675191839653 +-1.4803700466248113 +-2.001356853389183 +-2.1944408890014855 +-1.511376060387968 +-1.1845214174678909 +-1.983624681731751 +-2.6112707988644104 +-2.6112707988644104 +-2.0266086168450337 +-2.0266086168450337 +-1.6067790897483032 +-1.9892490673582697 +-2.6870972920333407 +-3.5312151908852965 +-4.184972557764897 +-3.8561939452685747 +-3.880160006692107 +-3.141835752217488 +-3.141835752217488 +-3.141835752217488 +-4.010088949762022 +-4.779230795413368 +-5.194327255266644 +-5.194327255266644 +-5.479175900075798 +-5.946333532863104 +-5.362956263418285 +-4.772547623059611 +-4.816607487251917 +-4.201918068559351 +-4.474800582086023 +-5.350768294663304 +-5.415533854846595 +-5.415533854846595 +-4.699606379842368 +-4.516704261514788 +-4.516704261514788 +-4.95910079892321 +-5.49457599610748 +-4.82774946193029 +-4.82774946193029 +-4.663571332488555 +-5.459555679304012 +-4.598610601182206 +-5.09602133266469 +-4.313753466544064 +-3.440069887846224 +-4.361078140165099 +-4.5034394440956165 +-4.482692664958224 +-4.722052793661892 +-4.722052793661892 +-3.907929875217025 +-3.907929875217025 +-4.375874438419661 +-3.838392218168255 +-3.821267433412378 +-3.821267433412378 +-4.354483157565719 +-3.979158115807657 +-3.979158115807657 +-3.8243953157829003 +-4.225679018742815 +-5.044468252252262 +-5.663004049906723 +-5.0855699434882276 +-4.103959285851023 +-4.72247148942882 +-5.548360965117156 +-6.25221161818838 +-6.25221161818838 +-6.623976367800987 +-5.7247677344473935 +-5.7247677344473935 +-5.0998985463566715 +-5.0998985463566715 +-5.0998985463566715 +-4.6719144397916335 +-5.009965586942469 +-4.932627148014221 +-4.449587436438955 +-4.449587436438955 +-4.340351917382326 +-5.030295007037958 +-4.890347649248742 +-4.794059708220922 +-5.284924938599865 +-5.6680148304970155 +-5.039526919037813 +-4.391985229514869 +-5.257661152731613 +-4.604697369388333 +-4.768971829487128 +-5.05677778435507 +-5.05677778435507 +-5.915459384350975 +-5.685641464176049 +-5.928148832973307 +-6.340957228562546 +-6.472962148515693 +-6.8925306840903575 +-7.095957489724881 +-7.095957489724881 +-6.415899494188548 +-5.430228555163474 +-4.454967820019723 +-3.8871954391790196 +-3.3981481008106242 +-2.4773869858065565 +-2.177769319843268 +-2.599604900285851 +-2.732129730414825 +-3.117157684424829 +-2.8920074119962074 +-2.7029747278296004 +-2.6886984963210177 +-3.6520512519129573 +-4.6099486663442315 +-3.771528888474422 +-4.651407328249238 +-5.495894133781412 +-5.495894133781412 +-5.403515526631344 +-5.87450753129725 +-5.387303661483072 +-5.387303661483072 +-5.8208100107416225 +-6.065425728041731 +-6.065425728041731 +-5.30992156499604 +-4.929473221268712 +-5.009088639956899 +-4.124293751096502 +-3.8190538064835393 +-3.508040090976632 +-3.94398431995926 +-4.644312987738735 +-5.1500540567516575 +-5.400621146173492 +-5.743868470129532 +-5.743868470129532 +-5.582423167971122 +-6.295511890287808 +-6.167786106576315 +-5.50384750840834 +-5.50384750840834 +-4.757593163721409 +-4.36627635268991 +-4.592861223346388 +-4.24119522728307 +-5.178929378866638 +-4.925480965653032 +-4.73833161971786 +-4.141595658512692 +-5.1163244989640635 +-4.890665224319353 +-4.460899605822664 +-4.460899605822664 +-4.444079974185229 +-3.6628135551188588 +-3.8916622781212578 +-3.795535401887986 +-4.357324638296976 +-4.357324638296976 +-5.025357447536644 +-5.756296830956881 +-5.637199271552721 +-5.637199271552721 +-5.657337026058607 +-6.639828265670258 +-7.220873692801675 +-6.338976809267712 +-5.944252284318715 +-5.4342383740816125 +-5.085246524528839 +-5.101144686624578 +-4.110055199546563 +-4.582550686418377 +-5.541346337015066 +-5.541346337015066 +-5.060216862654278 +-4.155531744189512 +-3.4898812802538877 +-4.475861986335561 +-3.5143368144548623 +-3.261725756557357 +-3.372056407761828 +-3.0429271492284324 +-3.696157942644694 +-4.114467769575474 +-3.4548180728426505 +-3.422806455834733 +-3.422806455834733 +-4.099003356284803 +-3.538318917614191 +-4.239940054339135 +-3.6734946153194277 +-4.628509322718953 +-3.6310085834432084 +-2.706282785343043 +-2.001806687905658 +-1.2532494574197057 +-1.195708739580646 +-1.9980893504455357 +-2.132962724373041 +-1.279891543160628 +-1.4519185571554583 +-0.9466134591664752 +-1.432419427792171 +-1.1458485776037939 +-1.9514813061220382 +-2.0424012774839624 +-2.4221520498557583 +-2.6110597424014683 +-2.8904677184079084 +-2.0624294820787545 +-1.4808395042174094 +-0.788861761431142 +-0.08583185710722807 +0.676783864469735 +-0.322184076204143 +-0.3989206512383 +-0.3989206512383 +0.19573606272866606 +1.0310575661389585 +0.3281080608904401 +-0.4968137277835887 +-1.1549862603404932 +-0.2409152273701023 +-1.0281600162952635 +-1.324348451649798 +-1.2752535712534403 +-0.8074315210322527 +-1.003352593289491 +-0.7813574360339459 +-0.839564769065254 +-1.5940094811660819 +-1.9364450357138967 +-1.775218511409051 +-1.5338930992166606 +-2.3325531732016502 +-3.215388208782992 +-3.7869607203117686 +-4.077705506655993 +-3.383317588521125 +-3.2675436928629926 +-2.9985057098491676 +-2.2318831296249106 +-2.4387935174867517 +-1.7292667154454384 +-1.0125084387176342 +-1.2426798958831333 +-1.2976727898547717 +-0.5015008012687876 +0.24471082941621836 +0.7662465765920401 +0.9465600637124258 +1.4355500778375048 +0.996352446949203 +0.996352446949203 +0.7258643188987599 +1.1975829282837296 +1.3189252634529445 +1.3189252634529445 +1.282761185214178 +2.1787879686440497 +2.317870352953554 +1.6048041772836712 +2.0516926465473064 +2.578466381412893 +3.545429637556432 +2.943387348802333 +3.749413393885689 +4.092977140364976 +3.156615909287589 +3.156615909287589 +3.431105367424153 +3.6510227478471666 +2.8546996889572185 +2.2006250736647655 +2.4690016695778594 +1.784511052118869 +2.0417360699621856 +1.9373108299626196 +1.2248351525231227 +0.7828751105340658 +0.5512210245110696 +0.5506169911951043 +-0.1316035222481241 +-0.9133687119010611 +-0.5016850192758876 +-0.5032532727868315 +-0.5059827500262281 +-0.4994693506012736 +-0.406654966549611 +-0.7853922922964074 +-0.17357005686954086 +-0.8029035881070006 +-0.8029035881070006 +-0.8092256500600276 +-0.21374252217976764 +-0.2873840942358832 +-0.3730466738286343 +-0.8462740513061842 +-0.6306907914577689 +-0.07402068700306619 +-0.9060227766977866 +-1.780785835812892 +-1.9732234265913626 +-1.5438524697070442 +-2.357430778957206 +-2.640142414854355 +-3.073779472281808 +-3.0531529942240656 +-2.1231245023902128 +-2.6785891912778212 +-3.2914343660074006 +-2.7729334002321266 +-3.3247681481512164 +-2.9632909760766815 +-2.187667273488997 +-2.4276693115488968 +-2.527458969070869 +-3.5271136019267484 +-3.5271136019267484 +-2.894492278796033 +-2.180807849445167 +-1.9938098335568928 +-1.9938098335568928 +-1.7598696557659927 +-0.9805958366245544 +-0.9805958366245544 +-1.3823176934392705 +-1.0635712604171355 +-0.9324764745926737 +-0.8609974731323689 +-1.6328257599724718 +-1.9196269557690937 +-1.2174423303627233 +-0.8228077509200051 +-0.30362125204490975 +0.601887395057092 +1.05057806487331 +0.8482778641326879 +1.2005163317967371 +1.6821622010231658 +0.9196272191257142 +0.5977203663354592 +0.7225247444189039 +0.16021279316401638 +-0.3207541851227549 +0.22073155286124058 +-0.25634947420007637 +-0.4038818758393392 +0.07326448746391057 +0.6873552922146295 +0.8385945404873256 +0.037274455188174516 +0.569055721463197 +-0.2886201377312052 +0.5139774042893157 +0.14381906796092736 +-0.671222763961059 +-0.45020328690473976 +0.39574284931692316 +-0.4502873136632729 +-0.6854826054793743 +-0.21026930520997467 +-1.0660789428331727 +-0.9876035516646353 +-0.639708753161377 +0.0346639845682144 +-0.18379589601904522 +-0.27364105047757925 +-0.6478200979179226 +-0.45385172823356756 +0.15467393996601297 +-0.316501684469467 +0.13323634454668376 +0.02882873372109518 +0.8730327061925548 +1.04992409339541 +1.04992409339541 +1.890105784236523 +1.156509792426476 +1.0956573207230251 +1.6604930346460813 +1.489450834523403 +1.0615602488426323 +0.49602650427643646 +-0.4369488020895931 +-1.4219592684519875 +-0.719420734734249 +-1.6262881661800805 +-1.0019684587179278 +-1.2354993723976553 +-1.6877867698612334 +-1.049838325907327 +-1.6965094301888148 +-1.6821341022404257 +-2.271873955270241 +-1.4294175372685078 +-1.2442344873995017 +-1.4702315167385134 +-1.7934813740394162 +-1.4080786545093484 +-1.9455658151701674 +-1.893877125949659 +-1.0119330504080224 +-0.23129946324404105 +-0.6221743243379226 +0.31605244340389016 +0.2104017010766679 +1.1978798234740928 +1.2307375648307541 +0.871012450579192 +1.2724992742798982 +0.8668067211243463 +1.5268787799213 +1.0060091335020953 +1.6535368587074093 +0.8437975206753909 +1.1969546671831353 +1.6980755643316847 +0.7491465507968591 +1.0855704386544387 +1.7998903730414377 +2.1233107227287897 +1.2759832775824658 +0.6567173292752664 +0.04597900178628622 +0.19183108671397608 +-0.18830110384052723 +0.24857387056470748 +-0.7102194274492112 +-1.400482930428351 +-1.808724411371489 +-1.7733840803213026 +-2.4373622101759915 +-2.7676393224634963 +-2.7676393224634963 +-2.3163442388229867 +-1.9137773864334546 +-2.1266024270111386 +-1.9039669066297886 +-1.586240768896284 +-1.1406946445490105 +-0.5531616175583978 +-1.103054159354633 +-1.6175643300624527 +-1.6175643300624527 +-2.1266186329263705 +-1.348072177945182 +-1.1631252517490303 +-1.0762756271758547 +-1.376057102282099 +-2.094993842278966 +-1.7044273634220664 +-1.4408730143245119 +-1.6381893883373966 +-2.4202135502312236 +-2.86721038670977 +-2.591231218879562 +-2.9693397722035786 +-3.8109062238212914 +-3.8930345948228693 +-3.8930345948228693 +-4.0147993268137405 +-3.1914677300279166 +-3.2343100499057087 +-2.6693702257296623 +-1.6963166523747184 +-1.0415784689353818 +-1.0415784689353818 +-0.8189171925243128 +-0.9675232280218325 +-0.21832386376783297 +-0.24142632547988274 +0.416483730852508 +1.3299856050985353 +1.7822332545967476 +1.147414057686347 +0.2519364638314967 +-0.32208463118174646 +0.2268467549462001 +1.045941295167154 +1.9504113676253716 +2.1201814107194905 +1.1737821699539173 +0.5430043634515287 +0.38754483095749126 +1.1592054493658255 +0.6608243304218101 +0.2560172980755402 +-0.6633786974886338 +-1.3562254073217141 +-0.4045906964231718 +-0.48562287977757623 +-0.5021636436453223 +-1.4219199245172276 +-1.8230107108507898 +-1.3818321917857253 +-1.4721153126895548 +-2.3207173882956793 +-1.4976325955447551 +-1.470120590501389 +-2.2611508532895526 +-1.9250197822486703 +-1.5893947658847183 +-2.350948008301126 +-2.350948008301126 +-2.5538051084382847 +-2.5538051084382847 +-3.041495547605097 +-2.698027655280388 +-2.7021839038853663 +-3.6763145824843377 +-4.256604687084252 +-4.3203780050957175 +-4.3203780050957175 +-5.309823235525795 +-4.364850965006588 +-5.260909426940691 +-4.403346710552956 +-4.395515009080755 +-4.510366287398141 +-4.76133912113615 +-3.7963995591485618 +-3.743454023366347 +-3.076259281242054 +-3.076259281242054 +-2.7204859013896767 +-2.2377767738204115 +-2.912871896395907 +-3.6280697157710757 +-4.120431784208953 +-4.424945003978813 +-4.96824211347027 +-4.250803349922428 +-3.265598813701366 +-3.1794451163564315 +-3.1001737439499486 +-2.6357830539507634 +-2.4609813430466505 +-1.9575842012118825 +-1.2765722976426215 +-0.5986057365600113 +-1.3246211260075618 +-1.3785338521884158 +-2.1538691481757946 +-1.3588339254268855 +-0.5331797846017845 +-1.124195437841963 +-2.0233386872840127 +-1.4892278316899594 +-1.5176882439208703 +-2.1647670607640057 +-1.2944281582351407 +-1.9083374922532679 +-1.8608644734776218 +-1.4540309528662427 +-2.2608733758999096 +-2.432895862980958 +-2.8274705006624403 +-2.4846993194068796 +-2.349641854456361 +-1.6388028129756524 +-1.4032753768425206 +-0.5675661285257447 +-1.3471208661666028 +-0.8548717517498954 +-0.257185464343602 +-0.36981587954225315 +-0.4322088318625168 +-1.107930578716417 +-0.4290328089991138 +-0.6690581674149058 +-0.559339742559504 +0.20113288275617525 +0.782035672386375 +1.3061896277358862 +1.5745312148077015 +2.3078329210142066 +1.4860448267149193 +1.4318738353722877 +0.6111451850645115 +-0.08123234296357351 +-0.06833613591791221 +0.5377233226158733 +0.19481460160484698 +-0.7402083614401312 +-1.5607002787985582 +-0.9663803494811374 +-0.8100826414964939 +-0.15407974686133974 +0.09485360892457484 +0.15701397240698878 +-0.567386856387526 +-1.408234757424094 +-0.8418823147175105 +-0.22440433417505123 +-0.8331001866433769 +-0.9286473860210417 +-0.6915705149482269 +-0.8156561020666897 +-1.086601936957611 +-0.145276965584497 +-0.5085314210437718 +-0.05363754646759211 +0.8411298034969287 +0.4243302688313553 +-0.5582066695189092 +0.052696916177610076 +-0.632827601120779 +0.33956203326289325 +0.6210818088549006 +1.1329328081318368 +1.1329328081318368 +0.6237422562539279 +1.0592402313193563 +0.3343664658995291 +0.3437529836986193 +-0.5234859199859156 +-1.3573901730666813 +-0.46253471066589036 +-0.09128350426028331 +-0.09955996315777138 +-0.4000200648504404 +-0.3392376299051105 +-0.303020305403092 +0.5981989490289694 +1.1127188370315708 +0.9685736842057969 +-0.01510261255968659 +-0.8055483295510587 +-0.8055483295510587 +-1.5256463601856654 +-1.9662622834637378 +-1.299403572953284 +-1.013369952505292 +-0.6258229421004824 +0.07984473631853861 +0.7787084287812627 +-0.21216682310810664 +-0.1566452097179234 +-0.8533568559490701 +-0.5837079010467223 +-0.3831536395033244 +-0.32322804570211994 +-0.20803861571110316 +-0.1368892277797129 +-0.7894121646288297 +-1.0439732229160237 +-0.5085990635055715 +-0.6134632065902529 +-1.144210172772644 +-0.47168255498011047 +-0.5711737616776232 +-0.8216020282043666 +0.07060943940441944 +-0.6101860658613334 +-0.379945117716731 +-0.7170346239491127 +-0.4069679198128605 +0.5223470174579511 +1.0971200092524596 +1.0971200092524596 +0.8905701569329968 +0.8905701569329968 +0.7886835966840049 +0.5098037286078044 +0.9897547627366429 +0.557398539416418 +0.07402736699429824 +-0.5814046038357948 +-0.012093060338277062 +0.4467145912865632 +0.8462218093970094 +0.12588170994752568 +-0.4452895393736661 +0.0756845398283007 +-0.02009293404550383 +-0.24152879762299773 +0.29661348264314025 +1.2081758387097894 +1.8458283625346898 +1.5502324288870466 +0.8046954438180018 +1.2611118011207436 +1.2611118011207436 +0.49717310877745735 +0.27041301690668174 +0.8556015077233682 +0.06103268075871349 +0.0446043539415959 +0.26002625490105924 +0.0523101283243298 +0.2125544046922051 +0.9468109684398597 +0.36680279414736605 +0.03107709723348928 +-0.06295625469127042 +-0.3909260111500974 +-0.8977554302735031 +-0.5271226326238847 +-0.2046254940948622 +0.7064838001338931 +1.5306634265674335 +0.7292299898892904 +-0.25282030131224964 +-0.9289163527631434 +-1.0545597561716256 +-0.668677709824145 +-0.1180311021245517 +0.8575589369452121 +1.4833858501672408 +2.2950961939826326 +2.75226963138776 +3.239089169321315 +4.0899811460623905 +3.8596769483356637 +3.7776974863730084 +4.741540200308624 +4.733797695882562 +5.231289262054317 +5.023010167337167 +4.298120972443011 +3.7026462391095873 +3.603026815506385 +4.17161900244633 +4.376293837615777 +4.857171697037732 +4.857171697037732 +4.7753104808048334 +5.758491010231013 +6.467219641384136 +6.467219641384136 +6.940574800489204 +6.157024618010277 +5.799698396404608 +6.09089234328733 +6.608340687707106 +7.485094733951821 +7.485094733951821 +7.094782192400164 +7.094782192400164 +7.858152735256736 +7.486638754222645 +7.686740559235162 +7.782447350260647 +7.61310312754312 +7.220855934289416 +6.304120945588398 +5.691938563365285 +5.364855050639206 +5.364855050639206 +4.852687159996188 +5.607706008594637 +6.206051429645761 +5.733569257989918 +4.760058553886675 +4.680450859847119 +5.569696839888903 +5.439844398842377 +5.1940489772583565 +5.1940489772583565 +4.444868037044215 +4.069782521791721 +3.3714014436722106 +3.2747933527106956 +3.263385609862496 +2.9496989914031606 +3.8245457482669853 +3.1324019628092126 +2.6139055435429386 +2.5841727314334113 +1.8101710442760683 +1.8101710442760683 +1.8101710442760683 +1.3395417623240045 +1.8279885307384052 +2.691392505475886 +3.3881657268574146 +3.5000077918084695 +3.5000077918084695 +4.456555424526173 +4.456555424526173 +3.553285565251044 +4.122419386735826 +3.1983672705914765 +2.3838968128178744 +1.852095906751647 +2.1107991212031783 +1.1905455502946054 +0.9036204993993543 +1.6014127928637114 +1.6014127928637114 +0.7507646698893593 +1.330434215796763 +1.3098827781526277 +1.3112946066880027 +1.0449724315393798 +1.3127356123645932 +2.1263586148139875 +2.8093105568750536 +2.9764304165066253 +3.8686542371102126 +2.957819390073163 +3.313577255818292 +3.313577255818292 +2.533304632538745 +2.888444461748196 +2.8078270121675617 +1.8263440690660406 +2.3389283161540844 +3.262313495801783 +2.7618934086578286 +3.3135955627152276 +3.5272499199058323 +3.523907017430911 +4.257827171665464 +4.310267779758574 +3.6469781319367494 +3.0388930916388617 +2.462079850321287 +3.2354098615091162 +4.204868719463017 +4.746608749957149 +4.746608749957149 +4.746608749957149 +4.181609503608282 +3.610691074416321 +3.6049770125246754 +3.393894253979236 +2.616419402355622 +1.9673668286948571 +2.3611461219318226 +2.3425787785369687 +2.4702795478432167 +2.0394252875424446 +2.1670113622833416 +2.07301099572946 +1.1590233211748324 +1.1412253386523052 +1.5576734048684995 +1.1376464723278823 +0.5327252499604664 +0.04901827996894992 +-0.4031664951093421 +0.2371623856270768 +0.9854335755017662 +0.5413436886624677 +0.951210082286792 +0.25814874883351513 +-0.25252308037379756 +-0.2066376335231258 +-0.7161980270160725 +-0.5970443297405009 +-0.7478875818657547 +-1.674957786330752 +-1.5999782740347872 +-0.9439646416610217 +-0.2891413521399191 +-0.4860126959006198 +-0.8532461376247495 +0.12694828948960413 +0.7757390897766554 +1.1590600410029765 +1.2677865265473713 +0.5534901511514354 +-0.08119259375746957 +0.7317156032205985 +0.5423179114282145 +0.5423179114282145 +-0.006196120743230726 +0.7493505044540077 +1.1873253360165315 +1.2386654697131156 +1.236883256515585 +1.7920040978786775 +1.5350304691969394 +0.7991782878528675 +0.014465826196668585 +0.014465826196668585 +-0.7532911025310247 +-0.9602558732027023 +-0.17248973224206188 +-0.6818129570863164 +-0.6440838289235701 +-0.9560932920863605 +-1.3387458525515852 +-0.5373757708567779 +-0.989667748137354 +-0.9170299426620611 +-1.722017133392416 +-2.4691021951758616 +-1.8174979441872654 +-1.6266247979984707 +-0.6496924997055413 +0.20642028929160716 +-0.3770838236855403 +-0.16542992251651678 +-0.8379824517698777 +-0.9188167876724967 +0.027985132786130573 +-0.33774600295427537 +-0.48927090028701425 +-0.1244288286299523 +0.11174692252590368 +-0.7578890878684162 +-0.20077614614374018 +-0.16690986742607883 +0.15986614930384835 +-0.34094069373518365 +-0.7387501669338028 +0.13703652796786514 +-0.5447849595893244 +-0.626182375305054 +0.15180046609047537 +1.080662590481333 +0.8974672160964693 +0.9440304499655726 +0.9440304499655726 +1.5383366633072786 +1.5915974998413807 +0.9750263469028941 +1.2998521567037826 +0.6813032407171931 +-0.04311305548644828 +-0.9707304856075107 +-0.042869800102561584 +0.8006091086762912 +-0.0997478294409162 +-0.1444532654050944 +0.14744202004993323 +0.6217201124484261 +1.4576831507851025 +1.4300854119893325 +2.0979958704922725 +2.9918457822531437 +3.6036052895857162 +3.0140180564876813 +3.713279773369051 +4.5107285545274385 +3.641821997872252 +3.4206020105295223 +3.476002117968849 +2.513899184097428 +2.466810226396519 +2.982646387639769 +2.2456428322813853 +2.0386123069545485 +1.7252791650208268 +1.0670104712270914 +1.902833823952295 +1.902833823952295 +1.58270510988081 +2.2952323283413745 +1.5423471588334814 +2.422173992259008 +2.659187483910424 +2.1372226772683858 +1.8596943511800483 +1.8153251897247658 +2.2037356459723294 +2.8616960413493375 +2.144126189134696 +2.144126189134696 +3.129905873184547 +2.706054769879447 +2.671299598195408 +1.8033260171580459 +1.8027304173261416 +2.3697229948300906 +1.8815829995307256 +1.3429412641746137 +1.5389702886948053 +2.2235213797067144 +1.6656342520416347 +2.2037215274634 +1.8048756069259642 +2.5669773623329886 +2.6715317895537094 +2.4617314195753397 +2.4483104505891844 +1.7602558693388837 +1.1226533306690072 +1.5915612939120962 +1.699769094146904 +1.407277219156959 +1.115111193529462 +1.7817719592657872 +2.69882824669975 +2.2729019908454533 +2.636036191039816 +2.6433808227611832 +2.2201639955648997 +2.2201639955648997 +2.2201639955648997 +2.975478876107146 +2.9310953631418184 +2.5251390994747527 +2.5850953185119074 +3.211210923853123 +2.574453948937305 +1.632732264893957 +2.232017458456168 +2.052717925217573 +2.398279563084178 +2.4780971617999494 +2.4987148344212384 +2.1683583720203563 +2.36419985208596 +1.719541871500679 +2.4408576723179642 +1.9698296236188582 +1.2629695286056182 +1.4745554557798926 +1.4745554557798926 +1.1336198728539961 +0.5003246878680652 +1.0511649472475975 +0.6652749894355187 +0.43996151296303077 +1.3791612360406034 +1.3713236157763173 +0.8449876960526415 +0.6016950659415617 +0.6016950659415617 +0.852940008380244 +0.059193534754057864 +-0.5769114326573114 +-0.7098171370973052 +-0.6160486910763734 +-0.18646961746049096 +-1.030958597179112 +-0.6635717308521736 +-1.3672765653532222 +-1.7631519649533027 +-1.0917187662574261 +-1.9837880903278549 +-1.7437145638574356 +-0.7881210866567028 +0.12683826238769713 +0.20264833008931582 +-0.24051390895362268 +-0.03475438009349385 +-0.03475438009349385 +0.4443726299949363 +1.1969954521475579 +1.6619161156364122 +1.892218901565055 +2.8259153726165485 +2.8722827097430654 +3.0792716170516927 +2.1879570521044522 +1.9495455768299248 +1.5793186602698603 +1.1634932713570088 +1.676973869241075 +2.067503177563659 +1.819771080342714 +1.4966520266054393 +1.671341334122745 +1.9372527937455084 +1.7816793875302142 +2.6223263364047784 +3.0921679139321023 +3.6123923750806655 +3.6123923750806655 +4.404836844569599 +3.977629515648826 +3.244275885593612 +3.094768288855723 +3.094768288855723 +2.2110200437875775 +1.4082190948827007 +1.8586795704429044 +1.3472015473654524 +0.5815766338573007 +0.41144526372399326 +-0.3439068165738387 +0.3398191508001226 +0.04944080643129034 +-0.1805545951684685 +-0.604029852751405 +-0.8528683589176024 +-0.8374300757302083 +0.07011271368922756 +0.38471021223598345 +0.8777607045372958 +1.2393613201857114 +1.3535708659962886 +1.925861593645183 +2.614425808026896 +2.614425808026896 +2.248210169885873 +3.207351937279049 +3.4182879070492684 +2.8406327207592486 +3.627351558066254 +3.42914584499288 +3.146644506897616 +3.566401856662642 +2.940266753308033 +3.33537994047743 +3.123535966877317 +3.905108147247342 +3.2383102142659554 +3.2383102142659554 +2.3861080610491765 +1.6922212378075023 +0.823061358761497 +0.014514166827665598 +0.20240922821740903 +0.09939747214493078 +-0.7407527775355173 +-1.3117684762866317 +-1.1031421269659065 +-1.1031421269659065 +-0.29538017067125666 +-0.5268664034347837 +-0.8799678649822429 +-1.5922334841378873 +-1.2643494633886816 +-1.1028901959900639 +-0.83655258632621 +-1.815599075207717 +-2.776666566811387 +-3.377657250988333 +-3.977493407297413 +-3.977493407297413 +-4.581785239506588 +-4.225461129659221 +-5.063173936612829 +-4.911595619328683 +-4.675825668285399 +-5.032879824134294 +-5.032879824134294 +-5.258903785342431 +-5.343725737124164 +-5.829323443726277 +-5.1533603760867095 +-5.785392484068063 +-6.051711121558338 +-6.142525824628453 +-6.142525824628453 +-6.408890518068232 +-5.489070484425959 +-5.331164135775182 +-4.973717955652239 +-5.746900625183376 +-4.839885006337049 +-4.839885006337049 +-4.66170404367298 +-4.343910015541088 +-3.5394512874398045 +-3.5158460146885684 +-3.880285648812085 +-3.88886138460312 +-3.4524039090941274 +-3.2708357907365153 +-3.1296243307200022 +-3.5260850944736326 +-2.7236064678653977 +-3.2195508833742665 +-2.9056799855632747 +-3.187269680827683 +-2.516979702240556 +-3.248709498267325 +-3.118276421167813 +-3.7174524860613296 +-3.45684151909242 +-3.9937394848486147 +-3.622258734626084 +-4.486651509418112 +-3.793655975050277 +-2.8003858307007636 +-2.672741100882282 +-2.492282809294167 +-3.020658068626406 +-2.522692826952186 +-2.2776551117688815 +-2.562116397246335 +-2.650925706303389 +-2.5275889093635744 +-1.9670560327721343 +-1.6376640140620877 +-1.3627631023493207 +-2.2418427786480883 +-2.2843321805783705 +-2.2843321805783705 +-2.6758727617943547 +-2.257819916954066 +-2.010921717574201 +-1.9891217921463265 +-2.2266673325850714 +-2.628928084532945 +-3.5514680634196445 +-4.110452710098629 +-3.331566510480711 +-3.331566510480711 +-3.331566510480711 +-2.8213337066999027 +-3.4933921283783604 +-4.12253338035246 +-3.5639922609360575 +-3.955954037894382 +-4.502192181286338 +-4.810856780995756 +-4.082042006930768 +-4.659346663477441 +-5.394128845309716 +-5.886828603889268 +-5.886828603889268 +-6.823336761968569 +-6.224630576854838 +-5.799897812873258 +-5.584895017431805 +-6.278609163124354 +-5.843272261083613 +-5.556861716309674 +-4.841532056864842 +-4.396852663846871 +-3.538931960243698 +-3.6334065557904394 +-2.8679594044310166 +-1.94922811933643 +-2.4902174735975056 +-3.33305191782037 +-2.957603166267055 +-2.994878501563223 +-2.308916304922595 +-3.191040773705814 +-3.3388861337902185 +-4.116934445173719 +-3.5181088836937513 +-3.345349258028226 +-3.311635380934005 +-2.775132094483526 +-3.0752211451134652 +-2.594966899312957 +-2.7842032211192085 +-1.9231320453864578 +-2.6539612314327035 +-3.5649881028812 +-4.002243622006281 +-3.5869107111460643 +-3.5869107111460643 +-3.544357448395589 +-4.327691407049601 +-4.477554911328771 +-3.7232473854244765 +-3.1833303056187416 +-3.1833303056187416 +-3.028499703665677 +-2.6310730646485223 +-3.2507725984499207 +-2.3391808521728805 +-2.170284625409449 +-2.72967526226723 +-3.19917012893748 +-2.2206714498930165 +-1.9849042165592081 +-1.2288091792267621 +-0.7979089592026269 +-0.79959504560914 +-0.5217988224696143 +-0.16815546096329992 +0.6312552843332161 +-0.16470969474549035 +-0.5572339538552893 +-1.1008517015307555 +-1.8534780959496824 +-1.8534780959496824 +-1.3367884120743336 +-1.8729433435741778 +-2.7380940964763694 +-2.7380940964763694 +-2.307807146413337 +-2.307807146413337 +-2.8128772518300833 +-2.0797678711403043 +-2.8039062553646943 +-2.363113406350861 +-3.3209224569069606 +-2.8525731250243673 +-3.682707638940996 +-3.8216359289257333 +-3.394379489826676 +-3.1945718332445963 +-2.9151992887065807 +-3.365269769027093 +-3.365269769027093 +-3.352845861303468 +-3.7470637142933394 +-2.937447582995168 +-3.7966737156168255 +-3.7966737156168255 +-4.723139257219702 +-5.409731245636621 +-5.409731245636621 +-5.696567649743069 +-5.696567649743069 +-5.024545663533845 +-5.168205413786714 +-5.168205413786714 +-4.968057241631938 +-5.659560304323943 +-5.401988241319312 +-5.008786976214965 +-5.17534717634679 +-5.077321451962187 +-5.163975269976967 +-5.333265319881558 +-4.635239807425862 +-4.761683826173792 +-5.591407310315645 +-6.288490015302679 +-6.055974908871811 +-6.708593963500393 +-6.708593963500393 +-6.708593963500393 +-7.001929719244011 +-7.539959727477736 +-7.370957609353064 +-7.370957609353064 +-6.875331765086761 +-6.991062465108444 +-7.363886439463373 +-8.335518321020837 +-7.803379850311682 +-8.105278240735322 +-7.892604283825785 +-7.517087466430639 +-7.517087466430639 +-7.611790793917927 +-7.179575670274904 +-7.9157398751666275 +-8.15863859336788 +-8.15863859336788 +-7.2080775800262415 +-8.104947077389223 +-8.104947077389223 +-7.763665008673184 +-7.577885064538749 +-7.288922776832142 +-6.431902981330955 +-5.689465758743343 +-5.689465758743343 +-5.37865670984749 +-5.37865670984749 +-4.906761192082294 +-4.412512608710301 +-4.412512608710301 +-5.154644161026937 +-5.26026622293292 +-5.26026622293292 +-5.185631397403056 +-4.565440480974015 +-3.9563752768382696 +-3.48662505643553 +-4.232193061769672 +-3.3999941777486375 +-2.5331971810035347 +-3.412843497060222 +-3.4083492781529747 +-4.347460108981297 +-3.7466355475305884 +-3.7466355475305884 +-4.36666122809739 +-5.256861846558508 +-4.852066094380804 +-5.06700420283907 +-5.706883354453219 +-4.996795624912671 +-4.996795624912671 +-5.245042691997837 +-5.28020355053677 +-4.81033942931536 +-4.927672163465234 +-5.170868895897596 +-5.170868895897596 +-5.111750880708916 +-4.728694373441886 +-4.45217890602232 +-3.4946836453070076 +-3.4946836453070076 +-3.593595869317306 +-3.9239524584667294 +-3.447675133841635 +-3.26583881443508 +-3.4804085162108684 +-4.083243103083779 +-4.071485292599329 +-4.691587536271807 +-4.691587536271807 +-5.300199682988979 +-5.195555004259485 +-5.378210683203904 +-6.253371630249254 +-5.890848253021556 +-6.015016672715527 +-5.558524219882432 +-4.81479496035243 +-4.763362844615248 +-5.004691657170957 +-5.185730276055125 +-4.675129238719432 +-5.564193575620095 +-6.005668931948859 +-6.005668931948859 +-5.450533341585723 +-5.450533341585723 +-5.358244635463082 +-5.8356514779350785 +-5.821086369501472 +-6.050825799113345 +-6.864939939869957 +-6.864939939869957 +-6.271104963324314 +-7.176265138086268 +-6.525013925685027 +-6.697541586862459 +-6.777110289989696 +-6.540802620206571 +-6.3601403779916055 +-7.100604439282212 +-6.3531529760462675 +-5.381349588326721 +-4.992673727005486 +-5.797534904485222 +-5.188249796136514 +-5.532351830453326 +-5.7951680525354 +-6.374050563940286 +-6.070020140252516 +-6.070020140252516 +-5.565838359781754 +-6.0981505998858445 +-6.398932448726777 +-6.594478100805759 +-6.498241875659705 +-6.498241875659705 +-6.82420256939106 +-6.82420256939106 +-7.074481605022107 +-7.650518599176896 +-7.650518599176896 +-8.064969292171059 +-7.720909672902943 +-7.720909672902943 +-7.695634382064083 +-7.695634382064083 +-7.089701767354834 +-7.089701767354834 +-7.30665950482838 +-6.481566264251461 +-6.014466256479306 +-5.637554569069614 +-4.72950830172506 +-5.413664418899817 +-5.785882012179295 +-5.785882012179295 +-5.54224085196042 +-6.507011949639363 +-6.719829156968191 +-6.65774143742008 +-6.990125396571795 +-6.990125396571795 +-6.280872374280329 +-6.498656558712653 +-6.498656558712653 +-5.544992194757149 +-4.916143300612526 +-5.455624873126454 +-5.766394115939216 +-4.991285791344291 +-5.884804167989878 +-6.237178483449522 +-6.529701021522557 +-5.631350858651292 +-5.024454549066109 +-4.452692137877754 +-4.5830003453524615 +-5.3157675505371955 +-6.220623478933519 +-6.220623478933519 +-5.662017624405339 +-5.519811876900849 +-5.298228332820379 +-5.234721351057098 +-5.149982732960135 +-4.4641403619287585 +-4.6593981329991525 +-5.1903179941112665 +-4.328703883045101 +-5.125050568786932 +-4.423906730879236 +-3.9028606816126734 +-3.9028606816126734 +-3.219387623860176 +-2.9106989921982818 +-2.6689035403611623 +-3.642585788821435 +-4.095329240966663 +-4.306965612021321 +-4.9916579717558935 +-4.9916579717558935 +-5.347454077703338 +-5.258276858459895 +-5.827713425991487 +-5.3606396645297 +-5.562633872842152 +-5.236363268479328 +-4.4106214764742635 +-4.657746696901867 +-4.657746696901867 +-3.850741331298619 +-3.449996518944143 +-3.921245485914109 +-3.8409511395862483 +-3.7644566275029323 +-2.9230396177383353 +-3.1527893548084465 +-3.647404594113154 +-4.392118173234759 +-4.392118173234759 +-4.543755743876805 +-3.8518496063405108 +-2.916099555297135 +-2.916099555297135 +-2.5900446729860134 +-3.0569825803640662 +-3.232921848836695 +-3.7157863109803255 +-3.968429443196883 +-3.5071920839938757 +-3.3542926447871206 +-4.049917679745401 +-3.0675956485477194 +-2.549419889360676 +-2.8021738720914935 +-2.948888442913703 +-3.709012664911917 +-3.4516562465087017 +-4.113136115279534 +-3.3805995206498043 +-4.239407608947765 +-4.239407608947765 +-4.239407608947765 +-4.819443924095286 +-5.131639594652518 +-6.006598129947531 +-6.006598129947531 +-6.955559932484882 +-6.15527180364106 +-6.036366844799378 +-5.902675292746782 +-5.036871291301067 +-5.975594139405924 +-6.005095321922569 +-6.005095321922569 +-5.727516072041911 +-5.5053619983733855 +-5.3844910844596825 +-4.491299062356897 +-4.166451440406382 +-4.327809078468539 +-4.402127452985264 +-5.028275382134836 +-5.161618698392133 +-4.263948597992195 +-5.164242344621011 +-5.164242344621011 +-4.953874728461366 +-4.86091089784766 +-4.790974697754173 +-5.262312947346661 +-4.989472538679041 +-4.708105323067194 +-3.827369412680561 +-4.119765668654911 +-4.390163489414258 +-5.078409655466866 +-4.660152980533696 +-4.973870640679772 +-4.4418833394131925 +-4.474358199065154 +-4.803553288431962 +-4.189588426947621 +-4.183174646714349 +-4.931224699758343 +-4.931224699758343 +-4.021338919870524 +-4.021338919870524 +-4.336829259435627 +-4.336829259435627 +-5.193402307170558 +-5.193402307170558 +-6.063018533771834 +-6.459341047752489 +-6.400834729927229 +-6.400834729927229 +-5.897966311672089 +-5.883578610115341 +-4.918980278032836 +-4.795459509627751 +-4.583464801877966 +-4.780008902747239 +-4.444894599207828 +-3.6911908246134937 +-3.289377314962608 +-3.2442398230547216 +-3.2849245479927642 +-3.2434228545518478 +-3.916993923622279 +-2.9648525806742105 +-2.9864465337184596 +-3.877209307785251 +-2.9034163015896883 +-1.9870744492659664 +-1.4219404700864986 +-2.323183458136429 +-2.193439450691101 +-1.5793200240027516 +-1.340018137272402 +-0.4024742866193469 +-1.2371580719355262 +-1.2152976931772852 +-1.2815228884877152 +-0.4885899236739406 +0.31984806668278587 +0.4737362170756587 +1.3712724819511415 +0.48885748941698015 +0.5503266611464035 +1.2666782885873964 +1.3702140402889982 +0.8235400909205854 +0.5951227802890818 +0.5951227802890818 +1.0694409266992682 +1.4936291057611673 +1.5854290244117213 +0.6416427199642103 +0.5256341412893529 +0.9802712915708952 +1.2021182152728125 +2.0000353771859114 +1.0565260126085412 +1.1057586184292822 +1.566130873510634 +1.5715544282097682 +1.0575578017248266 +0.8369405876560113 +0.8369405876560113 +0.2520778486272176 +-0.17108865459758538 +0.3636613461963718 +-0.42778121409681846 +-0.7907282203968989 +-1.1125223520191916 +-2.077627115578608 +-1.2228146303534855 +-1.4030640679045705 +-0.5075587038087852 +0.22788579568618061 +1.0605830891226415 +1.4115247744533712 +2.359199966408779 +1.6018339752193902 +0.6540260704370502 +-0.010855422013894334 +-0.820747497029932 +-0.2415451799438062 +-0.44106392134392836 +-0.813625364190355 +0.09661591286003435 +0.8646999822213313 +0.9026374742784826 +1.054697040203612 +1.6304110469800335 +0.7827743462430021 +0.24048680250912446 +-0.3007067418540872 +-1.0267392937413058 +-0.838825065908009 +-1.469142908878771 +-1.2519190616776388 +-1.3003609855362757 +-2.0780053149330304 +-1.3943142965429114 +-0.7872004457075634 +-0.060405128878719516 +-1.0359347716901794 +-1.2870616240988118 +-1.9389129222439618 +-1.714580771605265 +-1.246412659922559 +-2.239187195413897 +-1.6625893469794244 +-1.3682096547031444 +-1.3248486921233797 +-1.3248486921233797 +-1.2868425828663936 +-0.5450202906659218 +-1.3360640793949259 +-0.8058758052418729 +-0.569491877308494 +-0.70962842094196 +-0.16584419662395777 +-0.7941120498180626 +-0.22954554648196857 +-0.44007763058312244 +-1.1658178777851569 +-0.7435304815779931 +-0.9078921324309642 +-0.8249436560771793 +-0.602688359402115 +-0.8145132182058596 +-1.5103590307484156 +-0.5664155344570279 +-0.01956652487323174 +0.792313521196546 +1.082817153413651 +0.6809678621184309 +0.481103437899705 +1.4458426105047835 +1.6061433790905355 +0.8721564578425982 +0.17296559158164704 +0.5521158126414665 +0.46404953291668993 +0.12349847576011497 +0.8677664258411726 +0.8677664258411726 +0.3313674966485789 +0.033070451656563304 +-0.42354134980287195 +0.5338670236020158 +0.7654737754131145 +1.0488788790875585 +0.24926619867939426 +0.6839321028461389 +1.396726187326784 +1.3249949218012622 +1.5309579791942765 +0.6404998967115252 +-0.33326618691739585 +-0.33326618691739585 +-0.9882540999742182 +-1.9067656638571064 +-1.3751794759999523 +-0.6209527711700149 +-0.06437754027148412 +-0.9052500819099578 +-1.1313483311370263 +-1.03153517127767 +-0.4520006752114607 +-0.9607436647671139 +-0.49620350831460813 +-0.5684075055875885 +-1.0885079369377406 +-1.978081340825641 +-1.25820523221633 +-0.9351920122117199 +-0.40814604704419954 +-0.40814604704419954 +-1.1267728252648421 +-0.5215700819902196 +-0.224406101553829 +-0.6671664820944162 +-1.3229047903429256 +-0.41678212466381415 +0.22995881406147256 +-0.04085151245127905 +0.5647783825618532 +0.14957045981387984 +-0.20330357552765432 +0.2691133895047991 +-0.5491882131154967 +-0.010560033761590648 +0.8851507988941877 +1.3624406541539162 +2.0865373912898564 +1.7120477882390457 +2.2833877060948966 +1.9323711540012494 +1.6061681935087115 +2.3373757147793803 +2.5281964180547716 +3.1489061586223706 +2.7969211664768894 +2.471142995165368 +2.471142995165368 +2.720654661293964 +2.410180603018231 +2.1188874005804257 +2.1188874005804257 +1.7271226767924697 +1.140023831622703 +1.1854053277752465 +1.6641305084651208 +0.9506505684510536 +1.825989793147768 +1.4726236183587122 +0.7520779081605444 +0.6711795042016516 +0.4187850319637869 +-0.3208091499219221 +-0.6326089144719312 +0.14232868895366846 +-0.1742736798944522 +0.7077103767372359 +0.8918834960972226 +0.6730098837328699 +0.6161943648808914 +1.3877226317405689 +1.1596706868098132 +0.24685531769675806 +1.1443265679266612 +1.2522884871351503 +0.32629503718780706 +0.6445866892832894 +0.024965803117458663 +-0.45439958651141443 +-0.07356217065064297 +-0.035702424203109095 +-0.5500323308196985 +-0.0014984606904618891 +-0.11129158231545899 +-0.287099939829606 +-1.1168563099709696 +-0.2827697405899874 +-1.154070308206823 +-1.8764596816671804 +-1.5846317743201637 +-0.7871413939091572 +-1.7201578450150001 +-2.103106645383808 +-1.9103622304174959 +-1.8866553117891072 +-1.028089067355052 +-0.048318601899721036 +0.05753053683882481 +0.4561488046337425 +0.3148069226549436 +0.39090872437973145 +-0.2924542071955786 +0.2931250952597467 +0.9035579303960913 +1.0565792027231873 +0.565977305532504 +1.2832560719265595 +1.3862426893442632 +1.2368978626998612 +2.0842240489330126 +2.5840476647830797 +2.8140276592482474 +3.4132417328101994 +3.439120095243628 +3.2371439113875358 +2.3130920723141712 +2.6173870639235304 +2.0563527794749565 +1.6440723018219523 +0.9113446767006355 +-0.0205294939065932 +-0.542916823344846 +-0.542916823344846 +-0.1377326215506296 +-0.5505521553770537 +-0.6938373703821841 +-1.2574167420854208 +-1.5097618687443473 +-1.9904166004624622 +-2.9065698195875163 +-3.130589299406058 +-2.9040460863600117 +-2.018803986123265 +-2.3517169028132443 +-1.9593957291790012 +-2.3395617946592075 +-1.7036209870194534 +-2.0076964917820352 +-2.342712612235521 +-2.891287089260601 +-3.834012920509891 +-4.32617475847204 +-4.32617475847204 +-4.937760647640301 +-4.7120153580379425 +-5.230418991583975 +-5.1838959226469115 +-5.509429038224742 +-5.643491904647167 +-6.613831804489972 +-6.589154368680246 +-5.905908116498475 +-6.189090687941266 +-6.345519046258771 +-6.840833838305166 +-6.812585899787939 +-5.952789200857129 +-5.817737929228858 +-6.362323248886772 +-5.410421611935363 +-5.410421611935363 +-4.473517357694689 +-4.01464974761255 +-3.6575322354442465 +-3.6575322354442465 +-4.546242524360563 +-3.9764867672878994 +-4.814409223969398 +-4.054098104664366 +-3.7199618988804737 +-4.0244181626291144 +-4.469363000334564 +-4.469363000334564 +-3.9183643967469335 +-3.594008374334916 +-3.523054985481668 +-3.308257652025794 +-2.446486316605999 +-1.5161379074603147 +-1.9694748052772049 +-2.507421202892593 +-2.472449666232722 +-1.9719174925758194 +-2.800047328051946 +-2.310203739089859 +-2.5693834493982273 +-2.367493958023683 +-3.339269418385954 +-3.0060856339374924 +-3.6729728823060768 +-3.9721258748908737 +-3.9721258748908737 +-3.5971039888439167 +-2.7293916172820643 +-1.729595506524396 +-2.7213364596653262 +-1.8678528051216887 +-0.9712331248838675 +-0.769293090938056 +-0.6621184549713182 +-1.5139513367439836 +-1.6212135432266903 +-1.5471445837738957 +-1.6787751639329542 +-2.1352829504458652 +-1.6557321740374962 +-2.020347197859064 +-2.908082640821351 +-3.1132927456371378 +-3.1045943334507005 +-3.6704008236513603 +-2.947201911977661 +-3.200037629440815 +-2.5295732887104156 +-3.0135300043863977 +-2.3635423678790675 +-1.6335989882800652 +-1.6281463365004019 +-1.1608745583025135 +-0.8202228631484345 +-1.395387867126696 +-2.1551053463148624 +-2.5795584197377677 +-2.629507314806434 +-2.1968869228091883 +-1.3469298759986845 +-1.5804275930150555 +-1.7189688528759972 +-1.6748436368500892 +-2.1032020964678364 +-2.1558299670473553 +-2.333051864051925 +-2.3955694437486343 +-2.2033551608783846 +-3.1335920892426117 +-2.2585719102144255 +-2.4456382630014057 +-3.14476913307454 +-3.112932042595986 +-3.255742330294544 +-3.6814000500940907 +-3.9733468710519015 +-3.3254185503870857 +-3.085680921582945 +-2.9866705846536723 +-2.00532017786228 +-2.6673505437966876 +-2.2315370760782285 +-1.864885289426236 +-1.663810348317152 +-1.0894233472720707 +-1.1171875166418865 +-1.4950724074676707 +-1.5467721164866055 +-1.8324842142665876 +-1.6688455873227845 +-1.3440051201248273 +-1.5226532578050205 +-1.7323106565015687 +-2.583837686487513 +-1.6409910933371965 +-1.0284462746648415 +-1.6967069683049059 +-2.4049645423172246 +-2.2408508083140863 +-2.2408508083140863 +-1.523084099511583 +-1.1133468153889843 +-1.4095787206757682 +-0.9079330540985329 +-0.20096768901895135 +-0.568279517158453 +0.0403736077969018 +0.5541589015138065 +1.1020779387665272 +0.7120341013150794 +1.6083730462588721 +0.6693548426101992 +-0.0029050050452088527 +0.43860870111282635 +0.29963816542863986 +0.5481200221182007 +1.5003808325173664 +1.6271153816160733 +0.9096555916630145 +0.03269941297360934 +0.39561885825062704 +1.0266318684451636 +1.624484987901335 +2.5206590194978116 +3.030718617540912 +3.7095801651908786 +4.664878887757816 +4.231080773565384 +4.85911493267201 +4.180760065959884 +4.624916362376915 +4.049446636254604 +4.000988456223686 +4.019751325635374 +3.9012869626336664 +3.1888157979107667 +2.881342926475127 +3.3157403877076446 +4.146542363058894 +4.102214011282144 +3.2111797140678697 +3.2062966776477104 +3.2062966776477104 +3.542192697445622 +3.5414869404323492 +2.6413864345688873 +2.1748282003627226 +1.9286656901032266 +1.3331532838569784 +1.0599922954189185 +0.6912861673523806 +0.6912861673523806 +0.6177654442314531 +0.03032559033292115 +-0.3155615697594275 +0.044420058151305786 +-0.41040168589644255 +-1.0419529367393392 +-0.4013598125455322 +-0.9637525392900879 +-0.3198121898925499 +-1.3075931097148263 +-1.0652946399556344 +-0.23825526251812335 +-1.1773175466682133 +-1.6875306057725514 +-2.528040255942319 +-1.8816687751253012 +-1.1707449832593864 +-1.9173071226905383 +-1.247306943879394 +-1.4468360635717294 +-1.4158562721547017 +-2.1702196276418237 +-2.8229222670526317 +-3.5336785571571605 +-3.9210746254582522 +-3.6324099457754806 +-4.148318517374514 +-4.7341093422457465 +-3.9487082736532204 +-4.202563540128363 +-3.4675321549079223 +-3.0637406992918343 +-2.3968454848130483 +-3.299161229143988 +-2.9377308271186875 +-2.9377308271186875 +-2.561198048846097 +-2.561198048846097 +-1.580654453056187 +-1.4652760161609482 +-2.3809783857889046 +-2.416502071428747 +-2.5114035049100196 +-3.046311660558603 +-2.695943709133229 +-3.179166756535353 +-3.924852726276307 +-2.9834149405502672 +-2.9834149405502672 +-2.340783829074133 +-2.340783829074133 +-1.772841928445101 +-2.5443183064573796 +-2.84958250744707 +-3.5101106217886806 +-3.981861352320887 +-3.981861352320887 +-3.2441524267403388 +-2.3854257135298313 +-2.285014005433588 +-1.6657472793303851 +-2.310100230281586 +-1.6196187271064046 +-2.178637460089515 +-2.170265503955945 +-2.2778495722033294 +-2.163401846559266 +-1.190306423620444 +-1.3234033709175241 +-1.0859561387126884 +-0.4041075453997962 +-0.3744449530775038 +-0.9172932309396025 +-0.31555592155959267 +-1.1350992799907391 +-1.4526778482646279 +-1.4141682448373145 +-0.584530467080044 +-1.1578650864963294 +-0.30616090285815756 +-1.217796697044263 +-1.68814168602858 +-2.308037045984591 +-2.5511937096724417 +-2.418419938421911 +-1.8142046596831984 +-1.3189453691637143 +-2.239007796330628 +-3.098464160205655 +-3.8617980093824036 +-4.7886236094963435 +-4.967297506141364 +-5.932832353589282 +-4.939339950716085 +-5.358754335758804 +-4.900379093543463 +-4.590162182135313 +-4.088343036740071 +-3.6145090419216266 +-3.5550223645014216 +-4.21010136453672 +-3.563684559169043 +-3.5213769653556626 +-3.293480096652237 +-2.567064414167895 +-1.6080684507506053 +-0.7415910143009852 +-0.21518514615265083 +0.013497046734910256 +-0.3004909027387931 +0.17243693202220356 +0.9855700304185911 +1.1548038176771307 +0.7683043924171401 +0.7335690231088818 +0.6043441544834695 +0.794081860556444 +1.541439036465842 +0.5809267540255962 +1.5749611889983124 +1.1936141445839876 +1.968510574860511 +1.4648876926394419 +1.7885973457215305 +2.0307706689191463 +1.4162967748368926 +2.205971942720968 +1.8692218288726585 +1.3245334131608666 +1.067827545590366 +0.7047450642461021 +1.703585608611038 +1.3239502847249267 +0.6144440392699555 +0.0847835175514553 +0.9178889873664595 +1.0106007693971981 +0.4285010531891773 +0.7852280158677383 +1.5860497779034535 +1.343103455760886 +0.4374111789795305 +-0.4626232538554065 +-1.31156217838315 +-1.9258395725320547 +-1.2635000652040593 +-1.915924418696811 +-1.8289507194466073 +-1.8158233553807235 +-2.224688753618297 +-1.5951777386873365 +-1.2256167674373035 +-1.3483302252393914 +-1.3483302252393914 +-0.9074359989785248 +-1.6233605506439674 +-0.7038144494311565 +-0.7038144494311565 +-1.2411598281831493 +-1.1644965528972375 +-1.3055909200975564 +-2.2872976560342635 +-2.4337695723593 +-2.6073624661607746 +-3.3469938917722875 +-4.245126112609416 +-5.062931217377606 +-5.953197200980387 +-6.6179548814940325 +-6.445231363928585 +-6.445231363928585 +-6.050763854586209 +-6.29052073218551 +-7.173599516955212 +-7.173599516955212 +-6.351882074782981 +-7.309081530459544 +-7.365877476807666 +-7.365877476807666 +-7.204737526735617 +-7.0884288671083615 +-6.337690864128113 +-5.450504947958985 +-5.450504947958985 +-4.50336381543551 +-3.649560301682521 +-3.6600196322290697 +-2.8999684967215 +-3.194449309478228 +-3.0917902024521866 +-2.780397554666889 +-3.2006147480030664 +-3.2006147480030664 +-3.899923779226257 +-3.4970926161195544 +-3.271333702854708 +-2.5683392377368026 +-2.454998236802097 +-3.2132128496252426 +-3.2147567901558673 +-3.6099266518357167 +-2.6294538112061803 +-2.5010980131696305 +-1.7613817642199676 +-2.5006956502397886 +-2.5006956502397886 +-2.675709412367918 +-2.355313409487546 +-2.0395437460165784 +-1.973070089327135 +-1.8391970655048218 +-0.9463840363272089 +-0.017492811679618026 +-0.017492811679618026 +-0.11490002219324646 +-0.9076593591863932 +-0.4886266572423358 +-1.3877875979016001 +-1.2158165342590672 +-0.8963777133669848 +-0.018996565444975078 +0.42083221373452906 +-0.04785660090960253 +0.6161826858328686 +1.5794955155914043 +0.660907328209305 +1.101131322785813 +0.7452229775599616 +0.9611899273542927 +0.6179319554569787 +-0.31457264280121966 +-0.299034950818966 +0.06954259588372658 +-0.5247559978083662 +-1.1968384122710731 +-0.9712339732758526 +-1.0273397925164263 +-0.8104579796863876 +-0.8104579796863876 +-1.282672303416616 +-0.7397276823631185 +-0.3759716707216805 +-0.11884497903569002 +-0.7808788027384406 +-0.8398662036264216 +0.05368140077998318 +-0.833460156888416 +-0.12082543814900715 +-0.39420920263881576 +-0.5579835783258785 +-0.48017072002651273 +-0.2574340336681892 +-1.2539390649678706 +-1.2539390649678706 +-1.5508295646649226 +-0.6477609612355761 +-1.1158770552638102 +-0.43323958142683394 +-0.3082610014393885 +-0.5757679336158111 +-1.534049727314974 +-1.2528323338521539 +-1.5646854680990727 +-1.0507747893757258 +-0.36607811944703506 +-1.2111840439578339 +-1.1914643988799087 +-1.0316291532860982 +-2.016261532219654 +-2.2803382552791773 +-1.5699264595041684 +-2.5207126469904653 +-2.311904157755967 +-2.311904157755967 +-2.6740453219558287 +-3.499429802565193 +-3.340844508884365 +-3.2741998591167 +-2.4948858714272504 +-3.1085750126356153 +-3.1085750126356153 +-2.8382286981638067 +-2.5324146141206194 +-1.930983331787597 +-1.4909685684150038 +-1.5619627307925446 +-1.826201405686056 +-0.9304494279728976 +-1.9020399038548659 +-1.1625092204418623 +-0.6314339247911498 +-0.2631629966095592 +-0.9453315642696554 +-0.45035533323289756 +-0.38334066306118575 +-0.1738110517731266 +0.6155293089324712 +0.4058295649521896 +0.619412104504364 +0.19876906818425688 +0.006924292927493192 +0.09652901974134187 +-0.6692826592114917 +-0.19757158617833437 +-0.405776257933707 +-0.519180367768166 +-0.46982494813720066 +0.36498781350722476 +1.0935314994706413 +0.37695731701837976 +0.45331438923284595 +1.4527071208588684 +2.0774683298271435 +1.62538441717534 +2.4123317237755586 +2.4123317237755586 +1.7761684858267373 +1.4905669324582167 +0.9687885240720215 +0.5295711370627404 +0.6598317437593054 +0.24370260709288316 +0.4272723187046925 +0.5061656853691434 +0.3549845654329843 +-0.2467303341320296 +0.45127526182038735 +0.32104105212316747 +0.28051122240255 +1.253105759581695 +0.8531113452235147 +0.0698363758498769 +-0.24727373729971647 +0.07244036691798938 +-0.08589700007546608 +-0.868685822733568 +-1.0538642318419809 +-0.8390003758112479 +-1.752362097006509 +-0.7526515033983134 +0.20140092101302365 +1.198465424954607 +1.999836807782203 +1.7733619128558646 +1.8589397180647995 +1.6655480303254548 +2.060655318118644 +2.9473730328214245 +3.5337051403460435 +4.5253346265536605 +3.6329406380388387 +4.059773858366066 +3.7292844433656223 +4.1161228702305115 +3.8230738905613344 +2.940218604163238 +3.786388155569547 +3.1101573672935836 +3.275385937068992 +2.299616487020783 +2.299616487020783 +1.7648325373310754 +1.2974460831641879 +2.119259291775495 +2.3590829495041294 +1.6213665714811207 +2.2194793247277538 +2.6083878412309645 +1.9506012371386834 +1.043087228948915 +1.738266403759134 +1.272613229781125 +0.6445844420097449 +1.0055562649198229 +1.9346954404085561 +1.0368791420434653 +1.7969579872990542 +1.1829739963476074 +1.884912254712348 +1.6944828490111266 +1.6944828490111266 +1.9211118389634685 +2.8490600419602394 +2.8490600419602394 +2.104068861662954 +1.5690799247653515 +1.0940673576397972 +1.695073641894982 +2.024326292974333 +2.6460969000409382 +1.9065697033915205 +0.9300635974100604 +0.8842635866758352 +0.047109871837437534 +-0.03808705713161764 +-0.9468524823204914 +-1.5640816106327535 +-1.1406437491731274 +-1.3173586205337986 +-0.3517642722261216 +-1.0267780650505693 +-1.3062920278495374 +-0.61475486311721 +-0.5305975814999264 +-0.5848724165248217 +-0.3350348098032693 +0.6311232708681135 +0.06469165936555121 +1.0148814202244507 +0.4359614874836919 +0.15121122699041634 +-0.6211698553492467 +0.3379544043864523 +-0.1716815356659166 +0.4734235358728961 +0.9181217197691584 +0.07881970554836293 +-0.4603047314179819 +-1.4195689322228495 +-2.0952238977932396 +-1.637757010167247 +-1.7711473166118816 +-2.546112330829766 +-3.5321941826513577 +-3.388444917222274 +-3.0260814383415298 +-3.419140426478375 +-4.2229099481634575 +-4.4621381708078385 +-4.044541262647676 +-4.780143744211969 +-4.780143744211969 +-5.030701230736096 +-4.066259581637756 +-3.3633102140843 +-3.2667583686664767 +-2.5976765220636358 +-1.750943326083714 +-1.500110285477581 +-1.500110285477581 +-2.0128617467341336 +-2.0128617467341336 +-2.1376644266271487 +-2.0557458619636226 +-1.888924888625772 +-2.313084733600353 +-2.4988734658709073 +-2.144474092147449 +-2.023108114472696 +-2.027282678008052 +-2.087465557824687 +-2.3525602130194216 +-1.7103678812912766 +-1.9553951139053565 +-1.3318979439780965 +-1.495016581408433 +-0.637114037320256 +-0.07361850766111822 +-0.7807996057282733 +-0.6167911716599344 +-0.06714777992281085 +-0.10671250336606708 +-0.7841629317834201 +-0.6712744881891756 +-1.5297101461588554 +-1.5297101461588554 +-0.8346721669930954 +-0.4575189014285379 +-0.49549167843486364 +-0.6124473692442043 +-1.39920945619032 +-1.134442224629026 +-0.6585782862359151 +-0.7777903064149333 +-0.7943900808905342 +-0.37452547835719185 +-0.8474155046516448 +-0.8474155046516448 +-0.38508800016725486 +0.2482481138797722 +-0.002125501253954054 +0.07712465119787448 +0.2897081950858347 +-0.21126289568087153 +0.14044982533745132 +-0.5274934143198351 +-1.5006059772111695 +-0.732414945324376 +-0.09846667799607212 +-0.7323724140669485 +-1.2097106757727807 +-1.7102359231855393 +-0.8423409912861717 +-0.1971633064132028 +0.07576504731305511 +0.013808363347172725 +-0.5316760724222444 +-0.8175360915523764 +-1.1052692365971137 +-2.096688425582901 +-1.382319648936193 +-1.7894640954260246 +-1.1979278468295496 +-0.757129901276564 +-0.8780806143325003 +-0.7452031433809855 +-0.4029337312336615 +-0.03830658197346459 +-0.652946582734267 +-0.29819819919067714 +0.2988955567513675 +0.031640001640237836 +0.4262306597804957 +0.6434393443528745 +0.10917825168964335 +1.0294808337939416 +1.942669134960638 +1.9227706188955338 +1.9690123805205317 +1.6938685269454625 +1.6938685269454625 +1.5180055087607838 +1.1725368108387824 +2.034343489627508 +2.6252454081499867 +3.244154386872469 +3.600322318636826 +3.2096884745096994 +3.050939296795309 +2.3522931472547164 +1.4796075742805415 +1.7244718462657953 +2.557979083705898 +2.189139820578501 +2.6265866213602873 +1.639638238437695 +1.8161931622669076 +1.714387515504661 +1.5178428187718418 +0.525922419715942 +-0.10326537237659328 +0.6423704313033347 +0.41762667233266815 +1.3395962954793115 +2.1974880687821563 +1.8544399162464544 +1.8544399162464544 +2.653336328615042 +2.653336328615042 +2.653336328615042 +1.8684752177456887 +2.1018366509192425 +1.3340982867404676 +1.3265303678080085 +0.7910405778512637 +1.7310822318547092 +1.7038699998704656 +1.6466444020860065 +1.602328106830622 +2.363212500104459 +2.1042906419691096 +1.4613767496316015 +1.8154228154126175 +1.7139918588433156 +2.007373828078318 +1.262566832508403 +0.4951378070770114 +0.2321240680744766 +-0.6418450892897968 +-0.763630708147707 +-0.10987141407850975 +-1.0499237095317537 +-1.7027214305202578 +-0.7663622648207116 +-1.3793739340120925 +-1.214537312495616 +-2.195203237657516 +-2.936594054627534 +-3.0506790531288344 +-3.236047863267034 +-3.2615853035192823 +-3.2164919624190107 +-3.924549967122375 +-3.6045317573135893 +-3.5980753847530353 +-4.572751141710021 +-5.024914251623201 +-4.977102315189219 +-4.070434150005523 +-4.070434150005523 +-4.070434150005523 +-4.783055734131603 +-4.972132472776469 +-4.044322674705853 +-3.413051585424406 +-4.036313717169105 +-3.8742405950896566 +-3.383986118890136 +-2.633839098007005 +-2.356611964894566 +-2.4609845744944554 +-2.335637394666497 +-2.4278733743991436 +-1.8768559239653633 +-2.1981218839939247 +-2.059036394750372 +-2.1808159091655988 +-2.079346582992593 +-2.73945344985588 +-3.5782099371117635 +-3.5782099371117635 +-4.326714845080175 +-3.848947506161347 +-3.249011312221353 +-2.530217170941402 +-3.212082460051165 +-2.65238832296028 +-3.420945849521862 +-3.9042672712145396 +-3.9042672712145396 +-3.385099368693556 +-4.350072669812234 +-4.91679902749987 +-4.568714648090372 +-4.601548963009458 +-3.688881014874274 +-2.873512400077643 +-2.336738298284784 +-1.6461008289730825 +-2.3784332285691887 +-3.011935858380605 +-3.3970164057190315 +-4.075609969992499 +-4.181871613230996 +-3.5875722022799588 +-3.5875722022799588 +-3.8507958708502747 +-3.5865850712730833 +-3.566324903567091 +-4.346319057099812 +-5.182276191188434 +-5.182276191188434 +-4.756919100358836 +-4.302188125029772 +-4.355511923691287 +-3.953550718993355 +-3.826354972755486 +-3.6991628567840635 +-2.949298159684659 +-1.9993282861273003 +-1.1914386766333658 +-1.024499733193553 +-1.6999781929764002 +-1.5543496387760345 +-0.6759777363842598 +-0.11962789334845203 +0.34537079809625326 +0.9212793722787371 +1.2034433462734084 +1.2034433462734084 +0.28198296531321976 +1.141727862189351 +0.519255497192399 +0.4322789691453853 +0.5309636690309566 +0.27165008962336246 +0.5641759891212317 +0.1975744939118168 +0.8797854098928358 +-0.11530563417756878 +-0.6121934197394707 +-1.3653531613757057 +-1.806143298680749 +-1.806143298680749 +-0.8398999544616637 +-1.3121679502127246 +-1.0464782526706669 +-0.4544454555203037 +-1.4324772437266549 +-0.7009821189572192 +-0.35498152433725094 +-0.35498152433725094 +-0.10898258846522735 +-0.41631211706761306 +-0.458831769303349 +-0.9979821332579022 +-1.4418800415273476 +-1.4418800415273476 +-2.2014108465091926 +-2.0025613507474285 +-2.371625310146809 +-2.371625310146809 +-2.1321500189563305 +-1.9515931641985709 +-1.5367613366785897 +-1.0686731792219906 +-1.0396199755954045 +-0.5341385652291879 +-0.8703856107851574 +-1.6972948399119727 +-1.0401290948415212 +-1.7880355513183745 +-1.0319613604320232 +-1.445667154961464 +-1.445667154961464 +-1.445667154961464 +-0.4707116218144256 +-1.2785986639461386 +-0.3445091753835796 +-0.1557426221225453 +0.08920032535937739 +0.5876444457358532 +-0.012863609194754488 +0.4468955110916246 +-0.08587944099732314 +0.7735764911671674 +-0.106927443093904 +-0.8371349958445886 +-0.8594487366544895 +-1.3180892841548635 +-0.9036369340246113 +-0.5133458709597654 +0.38276605819232024 +0.7007994104111968 +0.768128480485951 +1.7598280118434313 +1.6170195773412601 +1.3640379634535478 +0.9517816402409626 +0.2650352370696286 +0.05069719516705695 +-0.334936986709076 +-1.123202927315773 +-0.6954420178208818 +-0.8917475460375216 +-0.664094351180346 +0.15570979013024744 +-0.3538548452106506 +-0.03791178860585653 +-0.026173676789628897 +-1.0173789348552065 +-0.2890024518545733 +-0.21243316627022613 +-0.8937528832651775 +-1.4872672031760759 +-1.5626134049824327 +-0.8644696760406299 +-0.9716197392678386 +-1.2308941362491899 +-0.23752703691257082 +-0.48857814422752976 +0.11165013569255244 +-0.13249968832268522 +0.32901227427667035 +1.068597156318959 +0.7231002213605847 +0.052971908955464 +-0.8278413141270554 +-0.2987501934803388 +-1.2324380371226824 +-1.676189063918566 +-2.3614480880248685 +-2.3196050437587377 +-1.641118165763189 +-1.641118165763189 +-1.6425960007462743 +-2.467581483908556 +-1.4814214654312106 +-1.3791119179634295 +-0.48589710630406624 +0.19380913101050834 +1.0374934281030714 +0.0751985902743062 +-0.7405543815843645 +-1.2903663631092746 +-1.8612792446799256 +-1.8612792446799256 +-2.6007387414486822 +-3.5042143705203674 +-3.431008235610582 +-4.252060570241013 +-5.086436444687419 +-5.086436444687419 +-5.266586444361592 +-5.2672823777222195 +-4.534403748112193 +-4.534403748112193 +-4.069598075296398 +-4.069598075296398 +-4.733733547159806 +-4.774302766887362 +-5.553652040555811 +-4.65857353074111 +-4.890047722308146 +-3.9563356710674955 +-3.1493576859057253 +-3.4559923415449667 +-3.7196920680949095 +-2.905214204626973 +-2.9493358286151636 +-3.7724450416780657 +-4.478200508360883 +-4.350529142258734 +-3.604975621316232 +-3.839320643599622 +-2.874435819576495 +-3.7060504987611496 +-3.5151927417149107 +-3.94346565965079 +-3.8395123844412193 +-3.997462143165006 +-3.9837840497174124 +-3.8125656293529744 +-3.194865118403065 +-3.8284301566662813 +-3.0687405656769142 +-3.896709988108491 +-2.982241083125439 +-2.59573776783422 +-2.351560530324014 +-2.8799670160540662 +-3.057539278632636 +-2.3419933145143443 +-3.00695563900324 +-3.5610723235727297 +-2.8155966342842573 +-3.8077590250127606 +-3.092518171946457 +-2.235207775576419 +-1.8454675930931448 +-2.536152173392468 +-1.840868240372226 +-2.608976825925052 +-1.8904546983987673 +-1.6925779609441631 +-1.6925779609441631 +-2.3416372448285387 +-1.7681444918352447 +-1.9633466297966686 +-1.5905702949861176 +-2.196655083122596 +-1.9281340669680689 +-2.3133863857007064 +-1.4601472471385988 +-1.4601472471385988 +-1.1126583036107505 +-1.37712041880719 +-2.05956506856955 +-1.8245704541300565 +-1.970968279859565 +-1.335036240642215 +-1.335036240642215 +-1.2391456570562474 +-2.0381959919227386 +-1.3075183703313498 +-0.8496582314839332 +-0.7660111650029156 +-1.285630724148675 +-0.7784102604579743 +-1.31241918456058 +-2.0189740827423006 +-2.4236183691510647 +-2.00710690977035 +-2.0925158967730777 +-1.3999711179043226 +-1.699455063844323 +-1.45872297697688 +-1.780400478169819 +-1.0507329700001748 +-1.6351630701629545 +-0.87094341055726 +-1.2707512802448524 +-1.6402257107771794 +-1.6199084392523073 +-2.562682637558228 +-2.332550102679808 +-2.7779801079307074 +-2.887780009239339 +-3.3672240632867014 +-4.252454468062506 +-5.088541762230651 +-4.704811497593678 +-3.9770024346682824 +-3.4768835532635025 +-2.8559699339010547 +-3.824096940890911 +-3.6167753620705065 +-3.87063800237131 +-3.451342601718214 +-3.722580518279957 +-4.1290906025641 +-3.327229946942972 +-3.1916354137257112 +-2.950143107522792 +-2.817217793679395 +-2.5823656224543474 +-3.3472358864902585 +-3.3472358864902585 +-2.788290997508485 +-2.379938296977585 +-2.0789261334558056 +-1.5488173509639243 +-0.7481612622358094 +-1.4260975709982777 +-1.493842198042496 +-1.2248089640708801 +-2.0998256437779603 +-2.8315275832234086 +-2.8315275832234086 +-2.2868461189046343 +-1.3420561091218497 +-1.0912371401611398 +-1.9243778070320565 +-1.682048697949511 +-1.9923683265418024 +-1.9923683265418024 +-1.279115314994972 +-1.1718423367626367 +-1.6131265915900008 +-1.7073264061368985 +-1.5640640008499005 +-1.8670913732882988 +-2.166042750231511 +-1.9762342315808532 +-1.2859254122785677 +-0.7098665732303355 +-0.495110294312576 +-1.2418258357301741 +-1.1512405004883612 +-1.9004501888159018 +-2.329522135416656 +-2.7371361438712727 +-2.7066935834692636 +-2.0310712512603915 +-2.876768344075909 +-2.1511544564396115 +-2.2918850229764702 +-2.2121135887798986 +-1.3181600715370783 +-0.6866079940275476 +-0.7612013689360179 +-0.757357961505784 +-0.7253924567776312 +-0.5332898935230092 +-1.170959291552621 +-1.3020936330578943 +-1.932217518064711 +-1.799037891744059 +-1.997649375514615 +-1.3470714875293481 +-0.6409967092813273 +-1.184851021881765 +-1.3682420529686898 +-1.8992890506476152 +-1.0204318071349159 +-1.1607974468537017 +-1.3247211402500527 +-0.8163569507014528 +-1.0145197795910321 +-0.12120986288603208 +0.40305362924098964 +0.9776015112508811 +0.7204985626205843 +1.197398128354887 +2.1009865476673117 +1.9277461770390176 +1.7506811055409668 +0.9329547409650336 +0.12527172930542907 +-0.26356433967660775 +0.13532782688172718 +0.04473188925820537 +-0.6965279303543375 +-0.009737447161013213 +-0.009737447161013213 +0.6368937213686945 +1.094823317441565 +0.11723394181598734 +-0.17603355189172853 +-0.7525385042274343 +-0.7814779311587583 +-1.318713506621871 +-0.5021203799304836 +-0.9001626005320519 +-1.3997523466833077 +-1.8971154450956047 +-1.5122101996780541 +-2.165206765592531 +-1.8025727827218285 +-2.5368428323737904 +-2.839582934234858 +-3.3301843725057414 +-2.683611424631616 +-2.161224785776146 +-3.048126503707329 +-2.7429484568790428 +-2.892886108021644 +-2.892886108021644 +-2.5116469141024256 +-2.0535129051046055 +-2.030325805086706 +-1.0339310385304104 +-0.40035821318949627 +-0.869663729399423 +-0.5950122200784059 +-0.1854461504344268 +-0.6010468066146173 +-1.2794261753380856 +-0.9238280144081672 +-0.7528943756494748 +-0.43741198568216966 +-0.5317627328540454 +-1.18737152544387 +-1.1862312100763583 +-1.3201659662532812 +-0.3432732964476022 +-0.49910019083377277 +-0.5258736135337541 +-0.018388887462551295 +-0.6935739066377975 +-0.6935739066377975 +0.09079248905752801 +0.5761264198942548 +-0.2760164362443551 +0.3413241999727916 +-0.003944876414059384 +-0.9187311406577944 +-1.4921405648705979 +-2.429713126178835 +-2.213649463265358 +-1.5937237181443262 +-2.4209860141848045 +-2.4209860141848045 +-1.5454853142546467 +-2.4881410848879146 +-1.8549646740185801 +-2.3119703351509084 +-2.664037134143962 +-2.55001962158983 +-3.4684759678395087 +-2.8330366347189697 +-3.276600357445333 +-3.36285112970077 +-2.671352139143608 +-2.671352139143608 +-2.671352139143608 +-3.03857089789547 +-2.9237725280400246 +-2.9237725280400246 +-2.6476445278500496 +-2.6913774372312362 +-2.845030318718436 +-2.404248239596313 +-2.379282103616352 +-2.71767568703849 +-2.8508874609143184 +-3.573021681746381 +-3.0948901110476075 +-2.2610655705909624 +-1.8369895825521578 +-1.323137505760216 +-0.4880587333520596 +-0.1433061571347496 +0.4097268956258575 +-0.5025215840092168 +-0.40937365235318524 +-1.090155629092548 +-1.3652980533043886 +-1.7892116292337805 +-1.1362115351543811 +-0.16685662083791097 +-0.5537387376719706 +-0.2406558199361294 +-1.0346132341420526 +-1.5834528156194325 +-1.1229364330974614 +-0.6499459581426903 +-0.2558580336447853 +-1.0592479097270258 +-1.7934014569961214 +-1.7882213296778173 +-1.7882213296778173 +-1.7882213296778173 +-2.630157924310147 +-2.381283690998636 +-2.3162700337583013 +-3.092364163782052 +-2.939576695920956 +-2.8260086625291945 +-2.717608011177588 +-2.7259023784367726 +-3.636593751428194 +-3.057632827645192 +-3.0045896147735975 +-2.8969578642861893 +-2.24916110499545 +-1.5019704458636056 +-1.733245748430985 +-0.7367529892412679 +0.15423231297114848 +0.7437574060622096 +0.9767107332841083 +0.918631218454634 +0.9209433223822284 +0.07865528093500307 +-0.34324123543664364 +0.31618791306383587 +0.2629992038801069 +-0.12108034924916322 +0.2498298907389389 +-0.4723109159080914 +0.09797777923121886 +-0.3605194071495935 +0.057725579713506 +-0.8665993465524541 +-1.409579819957103 +-0.6477831259235687 +-0.914586515214599 +-0.8426751671894818 +-0.7908555462276051 +-0.8711309991722915 +0.021820463905348975 +0.7740027138022489 +0.8271383924503302 +0.2340596907946355 +0.9524823625448382 +0.3740991244181431 +0.4967598928799364 +0.4967598928799364 +0.6100442289855557 +1.3559180379717555 +0.5699742931804936 +0.29750913967078907 +0.34698902792780884 +0.5034246574251763 +1.3193365100709014 +0.4820225181590445 +0.6321569308670627 +0.004470538863486029 +-0.027037828606733982 +0.9699845056412711 +0.683706230952579 +1.4853507858468313 +0.6661419104276785 +-0.27305655491150893 +-1.0889529938494449 +-0.3101976686650927 +0.603599753519048 +-0.3731253914265382 +0.2875828780889813 +-0.14267164453048775 +-0.6998358929247518 +-0.10123671375321097 +-0.10123671375321097 +0.6446408784380512 +0.5142106156097606 +0.38698497442315827 +0.320017151445698 +0.10842435147020846 +0.2791238455332409 +0.95921090135356 +1.4087560840494437 +0.8046713181858958 +0.9893380072501639 +1.863608868293928 +1.6294809544820028 +1.2507435939571017 +1.8925555409901624 +1.8925555409901624 +1.8925555409901624 +2.018536990213465 +2.9571011694972187 +2.7211176711391074 +2.7569291543686036 +3.142889082586394 +3.654851254903113 +3.670759477520277 +2.975870765861205 +2.1834758793368088 +2.627278235418137 +2.4488740545406635 +2.453868806274862 +2.0716587592712834 +2.7249213933173078 +1.9414269821664374 +1.9414269821664374 +2.2291727557262413 +2.2291727557262413 +2.0865016191680015 +1.818625199568999 +1.7242703046019292 +2.4230839489187055 +2.992211180819776 +2.384349236107239 +1.8059337659310124 +1.4164271752916568 +1.8520600673818501 +1.9064227800075952 +2.462209429232755 +2.799093800621681 +3.6950252612441172 +2.8144581166109908 +2.8144581166109908 +2.061743307048137 +2.367300295704667 +1.3825398165773504 +2.344783979828625 +2.344783979828625 +1.428777785219196 +2.373286910949922 +2.373286910949922 +2.8212890199613385 +2.2002593844884704 +2.2002593844884704 +1.2550970811888336 +1.2550970811888336 +0.9147686401735474 +0.4946358787746714 +0.8825237912923385 +-0.0017880132816845418 +-0.35456673094714775 +-1.0607711074652797 +-1.8752071913140487 diff --git a/spec/cnn_spec.cr b/spec/cnn_spec.cr index c4761af..5cadfb4 100644 --- a/spec/cnn_spec.cr +++ b/spec/cnn_spec.cr @@ -76,91 +76,91 @@ describe SHAInet::CNN do # end # - it "Figure out MNIST (mini-batch train, mse)" do - # Load training data (partial dataset) - raw_data = Array(Array(Float64)).new - csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) - 1000.times do - # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| - csv.next - new_row = Array(Float64).new - csv.row.to_a.each { |value| new_row << value.to_f64 } - raw_data << new_row - end - raw_input_data = Array(Array(Float64)).new - raw_output_data = Array(Array(Float64)).new - - raw_data.each do |row| - raw_input_data << row[1..-1] - raw_output_data << [row[0]] - end - - training_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) - training_data.for_mnist_conv - training_data.data_pairs.shuffle! - - # puts "#{training_data.data_pairs.first[:output]}" - # training_data.data_pairs.first[:input].first.each do |row| - # puts "#{row}" - # end - - # Load test data (partial dataset) - raw_data = Array(Array(Float64)).new - csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) - 100.times do - csv.next - new_row = Array(Float64).new - csv.row.to_a.each { |value| new_row << value.to_f64 } - raw_data << new_row - end - - raw_input_data = Array(Array(Float64)).new - raw_output_data = Array(Array(Float64)).new - - raw_data.each do |row| - raw_input_data << row[1..-1] - raw_output_data << [row[0]] - end - - test_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) - test_data.for_mnist_conv - - cnn = SHAInet::CNN.new - cnn.add_input([height = 28, width = 28, channels = 1]) # Output shape = 28x28x1 - cnn.add_conv( - filters_num: 10, - window_size: 5, - stride: 1, - padding: 2, - activation_function: SHAInet.none) # Output shape = 28x28x20 - cnn.add_relu(0.01) # Output shape = 28x28x20 - cnn.add_fconnect(l_size: 10, activation_function: SHAInet.none) - cnn.add_softmax - - cnn.learning_rate = 0.05 - cnn.momentum = 0.02 - - # cnn.run(test_data.data_pairs.first[:input], stealth = false) - cnn.train_batch( - data: training_data.data_pairs, - training_type: :sgdm, - cost_function: :c_ent, - epochs: 10, - error_threshold: 0.0001, - log_each: 1, - mini_batch_size: 50) - - correct_answers = 0 - test_data.data_pairs.each do |data_point| - result = cnn.run(data_point[:input], stealth: true) - if (result.index(result.max) == data_point[:output].index(data_point[:output].max)) - correct_answers += 1 - end - end - # cnn.inspect("activations") - puts "We managed #{correct_answers} out of #{test_data.data_pairs.size} total" - puts "Cnn output: #{cnn.output}" - end + # it "Figure out MNIST (mini-batch train, mse)" do + # # Load training data (partial dataset) + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) + # 1000.times do + # # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new + + # raw_data.each do |row| + # raw_input_data << row[1..-1] + # raw_output_data << [row[0]] + # end + + # training_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) + # training_data.for_mnist_conv + # training_data.data_pairs.shuffle! + + # # puts "#{training_data.data_pairs.first[:output]}" + # # training_data.data_pairs.first[:input].first.each do |row| + # # puts "#{row}" + # # end + + # # Load test data (partial dataset) + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) + # 100.times do + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new + + # raw_data.each do |row| + # raw_input_data << row[1..-1] + # raw_output_data << [row[0]] + # end + + # test_data = SHAInet::CNNData.new(raw_input_data, raw_output_data) + # test_data.for_mnist_conv + + # cnn = SHAInet::CNN.new + # cnn.add_input([height = 28, width = 28, channels = 1]) # Output shape = 28x28x1 + # cnn.add_conv( + # filters_num: 10, + # window_size: 5, + # stride: 1, + # padding: 2, + # activation_function: SHAInet.none) # Output shape = 28x28x20 + # cnn.add_relu(0.01) # Output shape = 28x28x20 + # cnn.add_fconnect(l_size: 10, activation_function: SHAInet.none) + # cnn.add_softmax + + # cnn.learning_rate = 0.05 + # cnn.momentum = 0.02 + + # # cnn.run(test_data.data_pairs.first[:input], stealth = false) + # cnn.train_batch( + # data: training_data.data_pairs, + # training_type: :sgdm, + # cost_function: :c_ent, + # epochs: 10, + # error_threshold: 0.0001, + # log_each: 1, + # mini_batch_size: 50) + + # correct_answers = 0 + # test_data.data_pairs.each do |data_point| + # result = cnn.run(data_point[:input], stealth: true) + # if (result.index(result.max) == data_point[:output].index(data_point[:output].max)) + # correct_answers += 1 + # end + # end + # # cnn.inspect("activations") + # puts "We managed #{correct_answers} out of #{test_data.data_pairs.size} total" + # puts "Cnn output: #{cnn.output}" + # end # it "Figure out MNIST (mini-batch train, cross-entropy)" do # puts "Figure out MNIST (mini-batch train, cross-entropy)" diff --git a/spec/network_spec.cr b/spec/network_spec.cr index 96a68c0..2b9848f 100644 --- a/spec/network_spec.cr +++ b/spec/network_spec.cr @@ -5,521 +5,567 @@ require "csv" system("cd #{__DIR__}/test_data && tar xvf tests.tar.xz") describe SHAInet::Network do - # it "Initialize" do - # nn = SHAInet::Network.new - # nn.should be_a(SHAInet::Network) - # end + it "Initialize" do + nn = SHAInet::Network.new + nn.should be_a(SHAInet::Network) + end - # it "saves_to_file" do - # nn = SHAInet::Network.new - # nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) - # nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) - # nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) - # nn.fully_connect - # nn.save_to_file("./my_net.nn") - # File.exists?("./my_net.nn").should eq(true) - # end + it "saves_to_file" do + nn = SHAInet::Network.new + nn.add_layer(:input, 2, :memory, SHAInet.sigmoid) + nn.add_layer(:output, 2, :memory, SHAInet.sigmoid) + nn.add_layer(:hidden, 2, :memory, SHAInet.sigmoid) + nn.fully_connect + nn.save_to_file("./my_net.nn") + File.exists?("./my_net.nn").should eq(true) + end - # it "loads_from_file" do - # nn = SHAInet::Network.new - # nn.load_from_file("./my_net.nn") - # (nn.all_neurons.size > 0).should eq(true) - # end + it "loads_from_file" do + nn = SHAInet::Network.new + nn.load_from_file("./my_net.nn") + (nn.all_neurons.size > 0).should eq(true) + end - # it "Test on a linear regression model" do - # # data structures to hold the input and results - # inputs = Array(Array(Float64)).new - # outputs = Array(Array(Float64)).new + it "Test on a linear regression model" do + # data structures to hold the input and results + inputs = Array(Array(Float64)).new + outputs = Array(Array(Float64)).new - # # read the file - # raw = File.read("./spec/linear_data/data.csv") - # csv = CSV.new(raw, headers: true) + # read the file + raw = File.read("./spec/linear_data/data.csv") + csv = CSV.new(raw, headers: true) - # # load the data structures - # while (csv.next) - # inputs << [csv.row["Height"].to_f64] - # outputs << [csv.row["Weight"].to_f64] - # end + # load the data structures + while (csv.next) + inputs << [csv.row["Height"].to_f64] + outputs << [csv.row["Weight"].to_f64] + end - # # normalize the data - # training = SHAInet::TrainingData.new(inputs, outputs) + # normalize the data + training = SHAInet::TrainingData.new(inputs, outputs) - # # create a network - # model = SHAInet::Network.new - # model.add_layer(:input, 1, :memory, SHAInet.none) - # # model.add_layer(:hidden, 1, :memory, SHAInet.none) - # model.add_layer(:output, 1, :memory, SHAInet.none) - # model.fully_connect + # create a network + model = SHAInet::Network.new + model.add_layer(:input, 1, :memory, SHAInet.none) + # model.add_layer(:hidden, 1, :memory, SHAInet.none) + model.add_layer(:output, 1, :memory, SHAInet.none) + model.fully_connect - # # Update learing rate (default is 0.005) - # model.learning_rate = 0.01 + # Update learing rate (default is 0.005) + model.learning_rate = 0.01 - # # train the network using Stochastic Gradient Descent with momentum - # model.train(training.raw_data, :adam, :mse, 5000, 0.0, 1) + # train the network using Stochastic Gradient Descent with momentum + model.train(training.raw_data, :adam, :mse, 5000, 0.0, 1) - # # model.show + # model.show - # # Test model - # output = model.run([1.47]).first - # error = ((output - 51.008)/51.008).abs - # (error < 0.05).should eq(true) # require less than 5% error + # Test model + output = model.run([1.47]).first + error = ((output - 51.008)/51.008).abs + (error < 0.05).should eq(true) # require less than 5% error - # output = model.run([1.83]).first - # error = ((output - 73.066)/73.066).abs - # (error < 0.05).should eq(true) # require less than 5% error - # end + output = model.run([1.83]).first + error = ((output - 73.066)/73.066).abs + (error < 0.05).should eq(true) # require less than 5% error + end - # it "Figure out XOR with SGD + M" do - # puts "---" - # puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" - # training_data = [ - # [[0, 0], [0]], - # [[1, 0], [1]], - # [[0, 1], [1]], - # [[1, 1], [0]], - # ] - - # xor = SHAInet::Network.new - - # xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) - # 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } - # xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) - # xor.fully_connect - - # # xor.learning_rate = 0.7 - # # xor.momentum = 0.3 - - # # xor.train( - # # data: training_data, - # # training_type: :sgdm, - # # cost_function: :mse, - # # epochs: 5000, - # # error_threshold: 0.000001, - # # log_each: 1000) - - # xor.train_es( - # data: training_data, - # pool_size: 100, - # learning_rate: 0.2, - # sigma: 0.3, - # cost_function: :c_ent, - # epochs: 1000, - # mini_batch_size: 1, - # error_threshold: 0.0, - # log_each: 10) - - # (xor.run([0, 0]).first < 0.1).should eq(true) - # (xor.run([1, 0]).first > 0.9).should eq(true) - # (xor.run([0, 1]).first > 0.9).should eq(true) - # (xor.run([1, 1]).first < 0.1).should eq(true) - # end + it "Figure out XOR with SGD + M" do + puts "---" + puts "Figure out XOR SGD + momentum (train, mse, sigmoid)" + training_data = [ + [[0, 0], [0]], + [[1, 0], [1]], + [[0, 1], [1]], + [[1, 1], [0]], + ] - # it "Supports both Symbols or Strings as input params" do - # puts "---" - # puts "Supports both Symbols or Strings as input params (sgdm, train, mse, sigmoid)" - # training_data = [ - # [[0, 0], [0]], - # [[1, 0], [1]], - # [[0, 1], [1]], - # [[1, 1], [0]], - # ] - - # xor = SHAInet::Network.new - # xor.add_layer("input", 2, "memory", SHAInet.sigmoid) - # 1.times { |x| xor.add_layer("hidden", 3, "memory", SHAInet.sigmoid) } - # xor.add_layer("output", 1, "memory", SHAInet.sigmoid) - # xor.fully_connect - - # xor.learning_rate = 0.7 - # xor.momentum = 0.3 - - # xor.train( - # data: training_data, - # training_type: "sgdm", - # cost_function: "mse", - # epochs: 5000, - # error_threshold: 0.000001, - # log_each: 1000) - - # (xor.run([0, 0]).first < 0.1).should eq(true) - # (xor.run([1, 0]).first > 0.9).should eq(true) - # (xor.run([0, 1]).first > 0.9).should eq(true) - # (xor.run([1, 1]).first < 0.1).should eq(true) - # end + xor = SHAInet::Network.new - # it "works on iris dataset with batch train with Rprop (batch)" do - # puts "---" - # puts "works on iris dataset with Rprop (batch_train, mse, sigmoid)" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # iris.learning_rate = 0.7 - # iris.momentum = 0.3 - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - - # iris.train_batch( - # data: normalized.data.shuffle, - # training_type: :rprop, - # cost_function: :mse, - # epochs: 5000, - # error_threshold: 0.000001, - # log_each: 1000) - - # result = iris.run(normalized.normalized_inputs.first) - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.7)).should eq(true) - # end + xor.add_layer(:input, 2, "memory", SHAInet.sigmoid) + 1.times { |x| xor.add_layer(:hidden, 3, "memory", SHAInet.sigmoid) } + xor.add_layer(:output, 1, "memory", SHAInet.sigmoid) + xor.fully_connect - # it "works on iris dataset with batch train with Adam (batch)" do - # puts "---" - # puts "works on iris dataset with Adam (batch_train, mse, sigmoid)" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # iris.learning_rate = 0.7 - # iris.momentum = 0.3 - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - - # iris.train_batch( - # data: normalized.data.shuffle, - # training_type: :adam, - # cost_function: :mse, - # epochs: 20000, - # error_threshold: 0.00001, - # log_each: 1000) - - # result = iris.run(normalized.normalized_inputs.first) - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - # end + xor.learning_rate = 0.7 + xor.momentum = 0.3 - # it "works on iris dataset with mini-batch train with Adam (mini-batch)" do - # puts "---" - # puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # iris.learning_rate = 0.7 - # iris.momentum = 0.3 - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - - # iris.train_batch( - # data: normalized.data.shuffle, - # training_type: :adam, - # cost_function: :mse, - # epochs: 5000, - # error_threshold: 0.000001, - # mini_batch_size: 50, - # log_each: 1000) - - # result = iris.run(normalized.normalized_inputs.first) - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - # end + xor.train( + data: training_data, + training_type: :sgdm, + cost_function: :mse, + epochs: 5000, + error_threshold: 0.000001, + log_each: 1000) + + (xor.run([0, 0]).first < 0.1).should eq(true) + (xor.run([1, 0]).first > 0.9).should eq(true) + (xor.run([0, 1]).first > 0.9).should eq(true) + (xor.run([1, 1]).first < 0.1).should eq(true) + end - # it "trains , saves, loads, runs" do - # puts "---" - # puts "train, save, loads and run works (Adam, mini-batch_train, mse, sigmoid)" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # iris.learning_rate = 0.7 - # iris.momentum = 0.3 - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max - - # iris.train_batch( - # data: normalized.data.shuffle, - # training_type: :adam, - # cost_function: :mse, - # epochs: 5000, - # error_threshold: 0.000001, - # mini_batch_size: 50, - # log_each: 1000) - - # iris.save_to_file("./my_net.nn") - # nn = SHAInet::Network.new - # nn.load_from_file("./my_net.nn") - # result = nn.run(normalized.normalized_inputs.first) - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - # end + it "Supports both Symbols or Strings as input params" do + puts "---" + puts "Supports both Symbols or Strings as input params (sgdm, train, mse, sigmoid)" + training_data = [ + [[0, 0], [0]], + [[1, 0], [1]], + [[0, 1], [1]], + [[1, 1], [0]], + ] + + xor = SHAInet::Network.new + xor.add_layer("input", 2, "memory", SHAInet.sigmoid) + 1.times { |x| xor.add_layer("hidden", 3, "memory", SHAInet.sigmoid) } + xor.add_layer("output", 1, "memory", SHAInet.sigmoid) + xor.fully_connect + + xor.learning_rate = 0.7 + xor.momentum = 0.3 + + xor.train( + data: training_data, + training_type: "sgdm", + cost_function: "mse", + epochs: 5000, + error_threshold: 0.000001, + log_each: 1000) + + (xor.run([0, 0]).first < 0.1).should eq(true) + (xor.run([1, 0]).first > 0.9).should eq(true) + (xor.run([0, 1]).first > 0.9).should eq(true) + (xor.run([1, 1]).first < 0.1).should eq(true) + end - # it "Works with cross-entropy" do - # puts "---" - # puts "Works with cross-entropy (sgdm, mini-batch_train, cross-entropy, sigmoid + softmax)" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # iris.learning_rate = 0.7 - # iris.momentum = 0.3 - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # normalized = SHAInet::TrainingData.new(inputs, outputs) - # normalized.normalize_min_max + it "works on iris dataset with batch train with Rprop (batch)" do + puts "---" + puts "works on iris dataset with Rprop (batch_train, mse, sigmoid)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end - # iris.train_batch( - # data: normalized.data.shuffle, - # training_type: :sgdm, - # cost_function: :c_ent, - # epochs: 100, - # error_threshold: 0.000001, - # mini_batch_size: 50, - # log_each: 10) - - # result = iris.run(normalized.normalized_inputs.first) - # expected = [0.0, 0.0, 1.0] - # puts "result: \t#{result.map { |x| x.round(5) }}" - # puts "expected: \t#{expected}" - # ((result.first < 0.3) && (result[1] < 0.3) && (result.last > 0.9)).should eq(true) - # end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max - # it "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" do - # puts "---" - # # puts "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" - # label = { - # "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], - # "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], - # "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], - # } - - # iris = SHAInet::Network.new - # iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) - # iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) - # iris.fully_connect - - # outputs = Array(Array(Float64)).new - # inputs = Array(Array(Float64)).new - # CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| - # row_arr = Array(Float64).new - # row[0..-2].each do |num| - # row_arr << num.to_f64 - # end - # inputs << row_arr - # outputs << label[row[-1]] - # end - # data = SHAInet::TrainingData.new(inputs, outputs) - # data.normalize_min_max + training_data, test_data = data.split(0.9) # Split also shuffles - # training_data, test_data = data.split(0.9) + iris.train_batch( + data: training_data, + training_type: :rprop, + cost_function: :mse, + epochs: 5000, + error_threshold: 0.000001, + log_each: 1000) + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 + end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end - # iris.train_es( - # data: training_data, - # pool_size: 50, - # learning_rate: 0.5, - # sigma: 0.1, - # cost_function: :c_ent, - # epochs: 500, - # mini_batch_size: 15, - # error_threshold: 0.00000001, - # log_each: 100, - # show_slice: true) + it "works on iris dataset with batch train with Adam (batch)" do + puts "---" + puts "works on iris dataset with Adam (batch_train, mse, sigmoid)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end - # # Test the trained model - # correct = 0 - # test_data.data.each do |data_point| - # result = iris.run(data_point[0], stealth: true) - # expected = data_point[1] - # # puts "result: \t#{result.map { |x| x.round(5) }}" - # # puts "expected: \t#{expected}" - # error_sum = 0.0 - # result.size.times do |i| - # error_sum += (result[i] - expected[i]).abs - # end - # correct += 1 if error_sum < 0.3 - # end - # puts "Correct answers: (#{correct} / #{test_data.size})" - # (correct > 10).should eq(true) - # end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max + + training_data, test_data = data.split(0.9) # Split also shuffles + + iris.train_batch( + data: training_data, + training_type: :adam, + cost_function: :mse, + epochs: 20000, + error_threshold: 0.00001, + log_each: 1000) + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 + end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end - it "works on the mnist dataset using evolutionary optimizer and batch" do - mnist = SHAInet::Network.new - mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) - mnist.add_layer(:hidden, 50, "memory", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 40, "eraser", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 10, "memory", SHAInet.sigmoid) - # mnist.add_layer(:hidden, 100, "memory", SHAInet.sigmoid) - mnist.add_layer(:output, 10, "memory", SHAInet.sigmoid) - - # Input to first hidden - mnist.fully_connect - - # Load training data - raw_data = Array(Array(Float64)).new - csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) - 10000.times do - # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| - csv.next - new_row = Array(Float64).new - csv.row.to_a.each { |value| new_row << value.to_f64 } - raw_data << new_row + it "works on iris dataset with mini-batch train with Adam (mini-batch)" do + puts "---" + puts "works on iris dataset with Adam (mini-batch_train, mse, sigmoid)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] end - raw_input_data = Array(Array(Float64)).new - raw_output_data = Array(Array(Float64)).new + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max + + training_data, test_data = data.split(0.9) # Split also shuffles + + iris.train_batch( + data: training_data, + training_type: :adam, + cost_function: :mse, + epochs: 5000, + error_threshold: 0.000001, + mini_batch_size: 10, + log_each: 1000) + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 + end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end + + it "trains , saves, loads, runs" do + puts "---" + puts "train, save, loads and run works (Adam, mini-batch_train, mse, sigmoid)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max + + training_data, test_data = data.split(0.9) # Split also shuffles + + iris.train_batch( + data: training_data, + training_type: :adam, + cost_function: :mse, + epochs: 5000, + error_threshold: 0.000001, + mini_batch_size: 50, + log_each: 1000) + + iris.save_to_file("./my_net.nn") + nn = SHAInet::Network.new + nn.load_from_file("./my_net.nn") + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 + end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end + + it "Works with cross-entropy" do + puts "---" + puts "Works with cross-entropy (sgdm, mini-batch_train, cross-entropy)" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + iris.learning_rate = 0.7 + iris.momentum = 0.3 + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] + end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max + + training_data, test_data = data.split(0.9) # Split also shuffles - raw_data.each do |row| - raw_input_data << row[1..-1] - raw_output_data << [row[0]] + iris.train_batch( + data: training_data, + training_type: :sgdm, + cost_function: :c_ent, + epochs: 100, + error_threshold: 0.000001, + mini_batch_size: 50, + log_each: 10) + + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 end + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end - # Change digits to one-hot vectors - raw_output_data.each_with_index do |point, i| - lbl = point.first.clone.to_i - one_hot = Array(Float64).new(10) { 0.0 } - one_hot[lbl] = 1.0 - raw_output_data[i] = one_hot + it "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" do + puts "---" + # puts "works on iris dataset using evolutionary strategies as optimizer + cross-entropy" + label = { + "setosa" => [0.to_f64, 0.to_f64, 1.to_f64], + "versicolor" => [0.to_f64, 1.to_f64, 0.to_f64], + "virginica" => [1.to_f64, 0.to_f64, 0.to_f64], + } + + iris = SHAInet::Network.new + iris.add_layer(:input, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:hidden, 4, :memory, SHAInet.sigmoid) + iris.add_layer(:output, 3, :memory, SHAInet.sigmoid) + iris.fully_connect + + outputs = Array(Array(Float64)).new + inputs = Array(Array(Float64)).new + CSV.each_row(File.read(__DIR__ + "/test_data/iris.csv")) do |row| + row_arr = Array(Float64).new + row[0..-2].each do |num| + row_arr << num.to_f64 + end + inputs << row_arr + outputs << label[row[-1]] end + data = SHAInet::TrainingData.new(inputs, outputs) + data.normalize_min_max - training_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) - training_data.normalize_min_max + training_data, test_data = data.split(0.9) - # Train on the data - mnist.train_es( + iris.train_es( data: training_data, pool_size: 50, learning_rate: 0.5, sigma: 0.1, cost_function: :c_ent, - epochs: 10, - mini_batch_size: 100, + epochs: 500, + mini_batch_size: 15, error_threshold: 0.00000001, - log_each: 10, + log_each: 100, show_slice: true) - # Load test data - raw_data = Array(Array(Float64)).new - csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) - 1000.times do - # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| - csv.next - new_row = Array(Float64).new - csv.row.to_a.each { |value| new_row << value.to_f64 } - raw_data << new_row + # Test the trained model + correct = 0 + test_data.data.each do |data_point| + result = iris.run(data_point[0], stealth: true) + expected = data_point[1] + # puts "result: \t#{result.map { |x| x.round(5) }}" + # puts "expected: \t#{expected}" + error_sum = 0.0 + result.size.times do |i| + error_sum += (result[i] - expected[i]).abs + end + correct += 1 if error_sum < 0.3 end - raw_input_data = Array(Array(Float64)).new - raw_output_data = Array(Array(Float64)).new + puts "Correct answers: (#{correct} / #{test_data.size})" + (correct > 10).should eq(true) + end - # Change digits to one-hot vectors - raw_data.each do |row| - raw_input_data << row[1..-1] - raw_output_data << [row[0]] - end + # it "works on the mnist dataset using evolutionary optimizer and batch" do + # mnist = SHAInet::Network.new + # mnist.add_layer(:input, 784, "memory", SHAInet.sigmoid) + # mnist.add_layer(:hidden, 50, "memory", SHAInet.sigmoid) + # # mnist.add_layer(:hidden, 40, "eraser", SHAInet.sigmoid) + # # mnist.add_layer(:hidden, 10, "memory", SHAInet.sigmoid) + # # mnist.add_layer(:hidden, 100, "memory", SHAInet.sigmoid) + # mnist.add_layer(:output, 10, "memory", SHAInet.sigmoid) + + # # Input to first hidden + # mnist.fully_connect + + # # Load training data + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_train.csv")) + # 10000.times do + # # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new - raw_output_data.each_with_index do |point, i| - lbl = point.first.clone.to_i - one_hot = Array(Float64).new(10) { 0.0 } - one_hot[lbl] = 1.0 - raw_output_data[i] = one_hot - end + # raw_data.each do |row| + # raw_input_data << row[1..-1] + # raw_output_data << [row[0]] + # end - test_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) - test_data.normalize_min_max - - # Run on all test data - results = Array(Int32).new - test_data.normalized_inputs.each_with_index do |test, i| - result = mnist.run(input: test, stealth: true) - if (result.index(result.max) == test_data.normalized_outputs[i].index(test_data.normalized_outputs[i].max)) - results << 1 - else - results << 0 - end - end - puts "We managed #{results.sum} out of #{results.size} total" - end + # training_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) + # # training_data.normalize_min_max + # training_data.normalized_inputs = training_data.normalize_min_max(data: training_data.inputs) + # training_data.normalized_outputs = training_data.to_onehot(data: training_data.outputs, vector_size: 10) + + # # Train on the data + # mnist.train_es( + # data: training_data, + # pool_size: 50, + # learning_rate: 0.5, + # sigma: 0.1, + # cost_function: :c_ent, + # epochs: 10, + # mini_batch_size: 100, + # error_threshold: 0.00000001, + # log_each: 10, + # show_slice: true) + + # # Load test data + # raw_data = Array(Array(Float64)).new + # csv = CSV.new(File.read(__DIR__ + "/test_data/mnist_test.csv")) + # 1000.times do + # # CSV.each_row(File.read(__DIR__ + "/test_data/mnist_train.csv")) do |row| + # csv.next + # new_row = Array(Float64).new + # csv.row.to_a.each { |value| new_row << value.to_f64 } + # raw_data << new_row + # end + # raw_input_data = Array(Array(Float64)).new + # raw_output_data = Array(Array(Float64)).new + + # test_data = SHAInet::TrainingData.new(raw_input_data, raw_output_data) + # test_data.normalized_inputs = test_data.normalize_min_max(data: test_data.inputs) + # test_data.normalized_outputs = test_data.to_onehot(data: test_data.outputs, vector_size: 10) + + # # Run on all test data + # results = Array(Int32).new + # test_data.normalized_inputs.each_with_index do |test, i| + # result = mnist.run(input: test, stealth: true) + # if (result.index(result.max) == test_data.normalized_outputs[i].index(test_data.normalized_outputs[i].max)) + # results << 1 + # else + # results << 0 + # end + # end + # puts "We managed #{results.sum} out of #{results.size} total" + # end end # Remove train data diff --git a/src/shainet/basic/data.cr b/src/shainet/basic/data.cr index 14381c8..f242f28 100644 --- a/src/shainet/basic/data.cr +++ b/src/shainet/basic/data.cr @@ -6,9 +6,8 @@ module SHAInet @ymax : Int32 @ymin : Int32 - getter :normalized_outputs, :normalized_inputs, :labels - getter :inputs, :outputs - setter :outputs + property :normalized_outputs, :normalized_inputs, :labels, :outputs + getter :inputs # @data_pairs : # Takes a path to a CSV file, a range of inputs and the index of the target column. @@ -68,6 +67,19 @@ module SHAInet return arr end + def normalize_min_max(data : Array(Array(Float64))) + normalized_data = Array(Array(Float64)).new + + # Get min-max + data.transpose.each { |a| @i_max << a.max; @i_min << a.min } + + data.each do |row| + normalized_data << normalize_inputs(row) + end + + return normalized_data + end + def normalize_min_max # Get inputs min-max @inputs.transpose.each { |a| @i_max << a.max; @i_min << a.min } @@ -173,5 +185,16 @@ module SHAInet def size return @inputs.size end + + def to_onehot(data : Array(Array(Float64)), vector_size : Int32) + data.each_with_index do |point, i| + lbl = point.first.clone.to_i + one_hot = Array(Float64).new(vector_size) { 0.0 } + one_hot[lbl] = 1.0 + data[i] = one_hot + end + + return data + end end end diff --git a/src/shainet/basic/es.cr b/src/shainet/basic/es.cr index 5b52a9a..501d99b 100644 --- a/src/shainet/basic/es.cr +++ b/src/shainet/basic/es.cr @@ -107,9 +107,6 @@ module SHAInet @sigma : Float64, original_biases : Array(Float64), original_weights : Array(Float64)) - # - # @learning_rate = rand(0.0..1.0) - # @sigma = rand(0.0..1.0) @mse = 0.0 @reward = 0.0 @error_signal = [] of Float64 @@ -123,25 +120,13 @@ module SHAInet def get_new_params # Update biases @network.all_neurons.each_with_index do |neuron, i| - # threshold = @sigma*(neuron.bias.clone).abs - # change = rand(-threshold..threshold) # Add noise - - # change = rand(-@sigma..@sigma) # Add noise - # new_value = @original_biases[i].clone + change*@learning_rate - new_value = SHAInet::RandomNormal.sample(n: 1, mu: neuron.bias, sigma: @sigma).first - # puts "new_value: #{new_value}" neuron.bias = new_value.clone @biases[i] = new_value.clone end # Update weights @network.all_synapses.each_with_index do |synapse, i| - # threshold = @sigma*(synapse.weight.clone).abs - # change = rand(-threshold..threshold) # Add noise - # # change = rand(-@sigma..@sigma) # Add noise - # new_value = @original_weights[i].clone + change*@learning_rate - new_value = SHAInet::RandomNormal.sample(n: 1, mu: synapse.weight, sigma: @sigma).first synapse.weight = new_value @weights[i] = new_value