-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtoPy.c
More file actions
142 lines (83 loc) · 42.4 KB
/
toPy.c
File metadata and controls
142 lines (83 loc) · 42.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <Python.h>
#include <stdio.h>
#include <stdlib.h>
#include <bcm2835.h>
#include "lookup.h"
int spi_init(void);
int adc_read(int channel);
static PyObject *toPy_start(PyObject *self);
static PyObject *toPy_end(PyObject *self);
static PyObject *toPy(PyObject *self);
void inittoPy(void);
int spi_init(void) {
//bcm2835_set_debug(1);
if(!bcm2835_init())
{
return -1;
}
bcm2835_spi_begin();
bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST); //default
bcm2835_spi_setDataMode(BCM2835_SPI_MODE0); //default
bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_2048); //122khz ~(250mhz/2048)
bcm2835_spi_chipSelect(BCM2835_SPI_CS0);
bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW);
return 0;
}
int adc_read(int channel) {
if(channel > 7 || channel < 0) {
printf("ERROR: Invalid Channel. Valid Channels are %d through %d\n", 0, 7);
return -1;
}
uint8_t buf[] = { 1, ((8+channel)<<4), 0 }; //see mcp3008 datasheet on spi
bcm2835_spi_transfern(buf, sizeof(buf));
int adcout = (((buf[1]&3) << 8) + buf[2]);
return adcout;
}
//Linking python and C below
static PyObject *toPy_start(PyObject *self)
{
return Py_BuildValue("i", spi_init());
}
static PyObject *toPy_end(PyObject *self)
{
bcm2835_spi_end();
bcm2835_close();
return Py_BuildValue("i", 0);
}
static PyObject *toPy(PyObject *self)
{
int event = -1;
int i;
int sum_chan0 = 0; int sum_chan1 = 0;
int sum_chan2 = 0; int sum_chan3 = 0;
for(i=0; i<10; i++)
{
sum_chan0 += adc_read(0);
sum_chan1 += adc_read(1);
sum_chan2 += adc_read(2);
sum_chan3 += adc_read(3);
usleep(100);
}
sum_chan0 /= 10; sum_chan1 /= 10;
sum_chan2 /= 10; sum_chan3 /= 10;
if(sum_chan0 > 250){event = 0;}
if(sum_chan1 > 250){event = 1;}
if(sum_chan2 > 250){event = 2;}
if(sum_chan3 > 250){event = 3;}
return Py_BuildValue("i", event);
}
static char toPy_docs[] = "toPy(): sends ADC to python\n";
static char toPy_docs_start[] = "toPy_start(): starts ADC\n";
static char toPy_docs_end[] = "toPy_end(): ends ADC\n";
static PyMethodDef toPy_funcs[] = {
{"toPy", (PyCFunction)toPy, METH_NOARGS, toPy_docs},
{"toPy_start", (PyCFunction)toPy_start, METH_NOARGS, toPy_docs_start},
{"toPy_end", (PyCFunction)toPy_end, METH_NOARGS, toPy_docs_end},
{NULL, NULL, NULL}
};
void inittoPy(void)
{
Py_InitModule3("toPy", toPy_funcs, "Extension module");
}
//loookup table for a 12-bit adc w/ 2.5v vref
const double lookup_table[4096] = { 0.000000, 0.000610, 0.001221, 0.001831, 0.002441, 0.003052, 0.003662, 0.004272, 0.004883, 0.005493, 0.006104, 0.006714, 0.007324, 0.007935, 0.008545, 0.009155, 0.009766, 0.010376, 0.010986, 0.011597, 0.012207, 0.012817, 0.013428, 0.014038, 0.014648, 0.015259, 0.015869, 0.016479, 0.017090, 0.017700, 0.018311, 0.018921, 0.019531, 0.020142, 0.020752, 0.021362, 0.021973, 0.022583, 0.023193, 0.023804, 0.024414, 0.025024, 0.025635, 0.026245, 0.026855, 0.027466, 0.028076, 0.028687, 0.029297, 0.029907, 0.030518, 0.031128, 0.031738, 0.032349, 0.032959, 0.033569, 0.034180, 0.034790, 0.035400, 0.036011, 0.036621, 0.037231, 0.037842, 0.038452, 0.039062, 0.039673, 0.040283, 0.040894, 0.041504, 0.042114, 0.042725, 0.043335, 0.043945, 0.044556, 0.045166, 0.045776, 0.046387, 0.046997, 0.047607, 0.048218, 0.048828, 0.049438, 0.050049, 0.050659, 0.051270, 0.051880, 0.052490, 0.053101, 0.053711, 0.054321, 0.054932, 0.055542, 0.056152, 0.056763, 0.057373, 0.057983, 0.058594, 0.059204, 0.059814, 0.060425, 0.061035, 0.061646, 0.062256, 0.062866, 0.063477, 0.064087, 0.064697, 0.065308, 0.065918, 0.066528, 0.067139, 0.067749, 0.068359, 0.068970, 0.069580, 0.070190, 0.070801, 0.071411, 0.072021, 0.072632, 0.073242, 0.073853, 0.074463, 0.075073, 0.075684, 0.076294, 0.076904, 0.077515, 0.078125, 0.078735, 0.079346, 0.079956, 0.080566, 0.081177, 0.081787, 0.082397, 0.083008, 0.083618, 0.084229, 0.084839, 0.085449, 0.086060, 0.086670, 0.087280, 0.087891, 0.088501, 0.089111, 0.089722, 0.090332, 0.090942, 0.091553, 0.092163, 0.092773, 0.093384, 0.093994, 0.094604, 0.095215, 0.095825, 0.096436, 0.097046, 0.097656, 0.098267, 0.098877, 0.099487, 0.100098, 0.100708, 0.101318, 0.101929, 0.102539, 0.103149, 0.103760, 0.104370, 0.104980, 0.105591, 0.106201, 0.106812, 0.107422, 0.108032, 0.108643, 0.109253, 0.109863, 0.110474, 0.111084, 0.111694, 0.112305, 0.112915, 0.113525, 0.114136, 0.114746, 0.115356, 0.115967, 0.116577, 0.117188, 0.117798, 0.118408, 0.119019, 0.119629, 0.120239, 0.120850, 0.121460, 0.122070, 0.122681, 0.123291, 0.123901, 0.124512, 0.125122, 0.125732, 0.126343, 0.126953, 0.127563, 0.128174, 0.128784, 0.129395, 0.130005, 0.130615, 0.131226, 0.131836, 0.132446, 0.133057, 0.133667, 0.134277, 0.134888, 0.135498, 0.136108, 0.136719, 0.137329, 0.137939, 0.138550, 0.139160, 0.139771, 0.140381, 0.140991, 0.141602, 0.142212, 0.142822, 0.143433, 0.144043, 0.144653, 0.145264, 0.145874, 0.146484, 0.147095, 0.147705, 0.148315, 0.148926, 0.149536, 0.150146, 0.150757, 0.151367, 0.151978, 0.152588, 0.153198, 0.153809, 0.154419, 0.155029, 0.155640, 0.156250, 0.156860, 0.157471, 0.158081, 0.158691, 0.159302, 0.159912, 0.160522, 0.161133, 0.161743, 0.162354, 0.162964, 0.163574, 0.164185, 0.164795, 0.165405, 0.166016, 0.166626, 0.167236, 0.167847, 0.168457, 0.169067, 0.169678, 0.170288, 0.170898, 0.171509, 0.172119, 0.172729, 0.173340, 0.173950, 0.174561, 0.175171, 0.175781, 0.176392, 0.177002, 0.177612, 0.178223, 0.178833, 0.179443, 0.180054, 0.180664, 0.181274, 0.181885, 0.182495, 0.183105, 0.183716, 0.184326, 0.184937, 0.185547, 0.186157, 0.186768, 0.187378, 0.187988, 0.188599, 0.189209, 0.189819, 0.190430, 0.191040, 0.191650, 0.192261, 0.192871, 0.193481, 0.194092, 0.194702, 0.195312, 0.195923, 0.196533, 0.197144, 0.197754, 0.198364, 0.198975, 0.199585, 0.200195, 0.200806, 0.201416, 0.202026, 0.202637, 0.203247, 0.203857, 0.204468, 0.205078, 0.205688, 0.206299, 0.206909, 0.207520, 0.208130, 0.208740, 0.209351, 0.209961, 0.210571, 0.211182, 0.211792, 0.212402, 0.213013, 0.213623, 0.214233, 0.214844, 0.215454, 0.216064, 0.216675, 0.217285, 0.217896, 0.218506, 0.219116, 0.219727, 0.220337, 0.220947, 0.221558, 0.222168, 0.222778, 0.223389, 0.223999, 0.224609, 0.225220, 0.225830, 0.226440, 0.227051, 0.227661, 0.228271, 0.228882, 0.229492, 0.230103, 0.230713, 0.231323, 0.231934, 0.232544, 0.233154, 0.233765, 0.234375, 0.234985, 0.235596, 0.236206, 0.236816, 0.237427, 0.238037, 0.238647, 0.239258, 0.239868, 0.240479, 0.241089, 0.241699, 0.242310, 0.242920, 0.243530, 0.244141, 0.244751, 0.245361, 0.245972, 0.246582, 0.247192, 0.247803, 0.248413, 0.249023, 0.249634, 0.250244, 0.250854, 0.251465, 0.252075, 0.252686, 0.253296, 0.253906, 0.254517, 0.255127, 0.255737, 0.256348, 0.256958, 0.257568, 0.258179, 0.258789, 0.259399, 0.260010, 0.260620, 0.261230, 0.261841, 0.262451, 0.263062, 0.263672, 0.264282, 0.264893, 0.265503, 0.266113, 0.266724, 0.267334, 0.267944, 0.268555, 0.269165, 0.269775, 0.270386, 0.270996, 0.271606, 0.272217, 0.272827, 0.273438, 0.274048, 0.274658, 0.275269, 0.275879, 0.276489, 0.277100, 0.277710, 0.278320, 0.278931, 0.279541, 0.280151, 0.280762, 0.281372, 0.281982, 0.282593, 0.283203, 0.283813, 0.284424, 0.285034, 0.285645, 0.286255, 0.286865, 0.287476, 0.288086, 0.288696, 0.289307, 0.289917, 0.290527, 0.291138, 0.291748, 0.292358, 0.292969, 0.293579, 0.294189, 0.294800, 0.295410, 0.296021, 0.296631, 0.297241, 0.297852, 0.298462, 0.299072, 0.299683, 0.300293, 0.300903, 0.301514, 0.302124, 0.302734, 0.303345, 0.303955, 0.304565, 0.305176, 0.305786, 0.306396, 0.307007, 0.307617, 0.308228, 0.308838, 0.309448, 0.310059, 0.310669, 0.311279, 0.311890, 0.312500, 0.313110, 0.313721, 0.314331, 0.314941, 0.315552, 0.316162, 0.316772, 0.317383, 0.317993, 0.318604, 0.319214, 0.319824, 0.320435, 0.321045, 0.321655, 0.322266, 0.322876, 0.323486, 0.324097, 0.324707, 0.325317, 0.325928, 0.326538, 0.327148, 0.327759, 0.328369, 0.328979, 0.329590, 0.330200, 0.330811, 0.331421, 0.332031, 0.332642, 0.333252, 0.333862, 0.334473, 0.335083, 0.335693, 0.336304, 0.336914, 0.337524, 0.338135, 0.338745, 0.339355, 0.339966, 0.340576, 0.341187, 0.341797, 0.342407, 0.343018, 0.343628, 0.344238, 0.344849, 0.345459, 0.346069, 0.346680, 0.347290, 0.347900, 0.348511, 0.349121, 0.349731, 0.350342, 0.350952, 0.351562, 0.352173, 0.352783, 0.353394, 0.354004, 0.354614, 0.355225, 0.355835, 0.356445, 0.357056, 0.357666, 0.358276, 0.358887, 0.359497, 0.360107, 0.360718, 0.361328, 0.361938, 0.362549, 0.363159, 0.363770, 0.364380, 0.364990, 0.365601, 0.366211, 0.366821, 0.367432, 0.368042, 0.368652, 0.369263, 0.369873, 0.370483, 0.371094, 0.371704, 0.372314, 0.372925, 0.373535, 0.374146, 0.374756, 0.375366, 0.375977, 0.376587, 0.377197, 0.377808, 0.378418, 0.379028, 0.379639, 0.380249, 0.380859, 0.381470, 0.382080, 0.382690, 0.383301, 0.383911, 0.384521, 0.385132, 0.385742, 0.386353, 0.386963, 0.387573, 0.388184, 0.388794, 0.389404, 0.390015, 0.390625, 0.391235, 0.391846, 0.392456, 0.393066, 0.393677, 0.394287, 0.394897, 0.395508, 0.396118, 0.396729, 0.397339, 0.397949, 0.398560, 0.399170, 0.399780, 0.400391, 0.401001, 0.401611, 0.402222, 0.402832, 0.403442, 0.404053, 0.404663, 0.405273, 0.405884, 0.406494, 0.407104, 0.407715, 0.408325, 0.408936, 0.409546, 0.410156, 0.410767, 0.411377, 0.411987, 0.412598, 0.413208, 0.413818, 0.414429, 0.415039, 0.415649, 0.416260, 0.416870, 0.417480, 0.418091, 0.418701, 0.419312, 0.419922, 0.420532, 0.421143, 0.421753, 0.422363, 0.422974, 0.423584, 0.424194, 0.424805, 0.425415, 0.426025, 0.426636, 0.427246, 0.427856, 0.428467, 0.429077, 0.429688, 0.430298, 0.430908, 0.431519, 0.432129, 0.432739, 0.433350, 0.433960, 0.434570, 0.435181, 0.435791, 0.436401, 0.437012, 0.437622, 0.438232, 0.438843, 0.439453, 0.440063, 0.440674, 0.441284, 0.441895, 0.442505, 0.443115, 0.443726, 0.444336, 0.444946, 0.445557, 0.446167, 0.446777, 0.447388, 0.447998, 0.448608, 0.449219, 0.449829, 0.450439, 0.451050, 0.451660, 0.452271, 0.452881, 0.453491, 0.454102, 0.454712, 0.455322, 0.455933, 0.456543, 0.457153, 0.457764, 0.458374, 0.458984, 0.459595, 0.460205, 0.460815, 0.461426, 0.462036, 0.462646, 0.463257, 0.463867, 0.464478, 0.465088, 0.465698, 0.466309, 0.466919, 0.467529, 0.468140, 0.468750, 0.469360, 0.469971, 0.470581, 0.471191, 0.471802, 0.472412, 0.473022, 0.473633, 0.474243, 0.474854, 0.475464, 0.476074, 0.476685, 0.477295, 0.477905, 0.478516, 0.479126, 0.479736, 0.480347, 0.480957, 0.481567, 0.482178, 0.482788, 0.483398, 0.484009, 0.484619, 0.485229, 0.485840, 0.486450, 0.487061, 0.487671, 0.488281, 0.488892, 0.489502, 0.490112, 0.490723, 0.491333, 0.491943, 0.492554, 0.493164, 0.493774, 0.494385, 0.494995, 0.495605, 0.496216, 0.496826, 0.497437, 0.498047, 0.498657, 0.499268, 0.499878, 0.500488, 0.501099, 0.501709, 0.502319, 0.502930, 0.503540, 0.504150, 0.504761, 0.505371, 0.505981, 0.506592, 0.507202, 0.507812, 0.508423, 0.509033, 0.509644, 0.510254, 0.510864, 0.511475, 0.512085, 0.512695, 0.513306, 0.513916, 0.514526, 0.515137, 0.515747, 0.516357, 0.516968, 0.517578, 0.518188, 0.518799, 0.519409, 0.520020, 0.520630, 0.521240, 0.521851, 0.522461, 0.523071, 0.523682, 0.524292, 0.524902, 0.525513, 0.526123, 0.526733, 0.527344, 0.527954, 0.528564, 0.529175, 0.529785, 0.530396, 0.531006, 0.531616, 0.532227, 0.532837, 0.533447, 0.534058, 0.534668, 0.535278, 0.535889, 0.536499, 0.537109, 0.537720, 0.538330, 0.538940, 0.539551, 0.540161, 0.540771, 0.541382, 0.541992, 0.542603, 0.543213, 0.543823, 0.544434, 0.545044, 0.545654, 0.546265, 0.546875, 0.547485, 0.548096, 0.548706, 0.549316, 0.549927, 0.550537, 0.551147, 0.551758, 0.552368, 0.552979, 0.553589, 0.554199, 0.554810, 0.555420, 0.556030, 0.556641, 0.557251, 0.557861, 0.558472, 0.559082, 0.559692, 0.560303, 0.560913, 0.561523, 0.562134, 0.562744, 0.563354, 0.563965, 0.564575, 0.565186, 0.565796, 0.566406, 0.567017, 0.567627, 0.568237, 0.568848, 0.569458, 0.570068, 0.570679, 0.571289, 0.571899, 0.572510, 0.573120, 0.573730, 0.574341, 0.574951, 0.575562, 0.576172, 0.576782, 0.577393, 0.578003, 0.578613, 0.579224, 0.579834, 0.580444, 0.581055, 0.581665, 0.582275, 0.582886, 0.583496, 0.584106, 0.584717, 0.585327, 0.585938, 0.586548, 0.587158, 0.587769, 0.588379, 0.588989, 0.589600, 0.590210, 0.590820, 0.591431, 0.592041, 0.592651, 0.593262, 0.593872, 0.594482, 0.595093, 0.595703, 0.596313, 0.596924, 0.597534, 0.598145, 0.598755, 0.599365, 0.599976, 0.600586, 0.601196, 0.601807, 0.602417, 0.603027, 0.603638, 0.604248, 0.604858, 0.605469, 0.606079, 0.606689, 0.607300, 0.607910, 0.608521, 0.609131, 0.609741, 0.610352, 0.610962, 0.611572, 0.612183, 0.612793, 0.613403, 0.614014, 0.614624, 0.615234, 0.615845, 0.616455, 0.617065, 0.617676, 0.618286, 0.618896, 0.619507, 0.620117, 0.620728, 0.621338, 0.621948, 0.622559, 0.623169, 0.623779, 0.624390, 0.625000, 0.625610, 0.626221, 0.626831, 0.627441, 0.628052, 0.628662, 0.629272, 0.629883, 0.630493, 0.631104, 0.631714, 0.632324, 0.632935, 0.633545, 0.634155, 0.634766, 0.635376, 0.635986, 0.636597, 0.637207, 0.637817, 0.638428, 0.639038, 0.639648, 0.640259, 0.640869, 0.641479, 0.642090, 0.642700, 0.643311, 0.643921, 0.644531, 0.645142, 0.645752, 0.646362, 0.646973, 0.647583, 0.648193, 0.648804, 0.649414, 0.650024, 0.650635, 0.651245, 0.651855, 0.652466, 0.653076, 0.653687, 0.654297, 0.654907, 0.655518, 0.656128, 0.656738, 0.657349, 0.657959, 0.658569, 0.659180, 0.659790, 0.660400, 0.661011, 0.661621, 0.662231, 0.662842, 0.663452, 0.664062, 0.664673, 0.665283, 0.665894, 0.666504, 0.667114, 0.667725, 0.668335, 0.668945, 0.669556, 0.670166, 0.670776, 0.671387, 0.671997, 0.672607, 0.673218, 0.673828, 0.674438, 0.675049, 0.675659, 0.676270, 0.676880, 0.677490, 0.678101, 0.678711, 0.679321, 0.679932, 0.680542, 0.681152, 0.681763, 0.682373, 0.682983, 0.683594, 0.684204, 0.684814, 0.685425, 0.686035, 0.686646, 0.687256, 0.687866, 0.688477, 0.689087, 0.689697, 0.690308, 0.690918, 0.691528, 0.692139, 0.692749, 0.693359, 0.693970, 0.694580, 0.695190, 0.695801, 0.696411, 0.697021, 0.697632, 0.698242, 0.698853, 0.699463, 0.700073, 0.700684, 0.701294, 0.701904, 0.702515, 0.703125, 0.703735, 0.704346, 0.704956, 0.705566, 0.706177, 0.706787, 0.707397, 0.708008, 0.708618, 0.709229, 0.709839, 0.710449, 0.711060, 0.711670, 0.712280, 0.712891, 0.713501, 0.714111, 0.714722, 0.715332, 0.715942, 0.716553, 0.717163, 0.717773, 0.718384, 0.718994, 0.719604, 0.720215, 0.720825, 0.721436, 0.722046, 0.722656, 0.723267, 0.723877, 0.724487, 0.725098, 0.725708, 0.726318, 0.726929, 0.727539, 0.728149, 0.728760, 0.729370, 0.729980, 0.730591, 0.731201, 0.731812, 0.732422, 0.733032, 0.733643, 0.734253, 0.734863, 0.735474, 0.736084, 0.736694, 0.737305, 0.737915, 0.738525, 0.739136, 0.739746, 0.740356, 0.740967, 0.741577, 0.742188, 0.742798, 0.743408, 0.744019, 0.744629, 0.745239, 0.745850, 0.746460, 0.747070, 0.747681, 0.748291, 0.748901, 0.749512, 0.750122, 0.750732, 0.751343, 0.751953, 0.752563, 0.753174, 0.753784, 0.754395, 0.755005, 0.755615, 0.756226, 0.756836, 0.757446, 0.758057, 0.758667, 0.759277, 0.759888, 0.760498, 0.761108, 0.761719, 0.762329, 0.762939, 0.763550, 0.764160, 0.764771, 0.765381, 0.765991, 0.766602, 0.767212, 0.767822, 0.768433, 0.769043, 0.769653, 0.770264, 0.770874, 0.771484, 0.772095, 0.772705, 0.773315, 0.773926, 0.774536, 0.775146, 0.775757, 0.776367, 0.776978, 0.777588, 0.778198, 0.778809, 0.779419, 0.780029, 0.780640, 0.781250, 0.781860, 0.782471, 0.783081, 0.783691, 0.784302, 0.784912, 0.785522, 0.786133, 0.786743, 0.787354, 0.787964, 0.788574, 0.789185, 0.789795, 0.790405, 0.791016, 0.791626, 0.792236, 0.792847, 0.793457, 0.794067, 0.794678, 0.795288, 0.795898, 0.796509, 0.797119, 0.797729, 0.798340, 0.798950, 0.799561, 0.800171, 0.800781, 0.801392, 0.802002, 0.802612, 0.803223, 0.803833, 0.804443, 0.805054, 0.805664, 0.806274, 0.806885, 0.807495, 0.808105, 0.808716, 0.809326, 0.809937, 0.810547, 0.811157, 0.811768, 0.812378, 0.812988, 0.813599, 0.814209, 0.814819, 0.815430, 0.816040, 0.816650, 0.817261, 0.817871, 0.818481, 0.819092, 0.819702, 0.820312, 0.820923, 0.821533, 0.822144, 0.822754, 0.823364, 0.823975, 0.824585, 0.825195, 0.825806, 0.826416, 0.827026, 0.827637, 0.828247, 0.828857, 0.829468, 0.830078, 0.830688, 0.831299, 0.831909, 0.832520, 0.833130, 0.833740, 0.834351, 0.834961, 0.835571, 0.836182, 0.836792, 0.837402, 0.838013, 0.838623, 0.839233, 0.839844, 0.840454, 0.841064, 0.841675, 0.842285, 0.842896, 0.843506, 0.844116, 0.844727, 0.845337, 0.845947, 0.846558, 0.847168, 0.847778, 0.848389, 0.848999, 0.849609, 0.850220, 0.850830, 0.851440, 0.852051, 0.852661, 0.853271, 0.853882, 0.854492, 0.855103, 0.855713, 0.856323, 0.856934, 0.857544, 0.858154, 0.858765, 0.859375, 0.859985, 0.860596, 0.861206, 0.861816, 0.862427, 0.863037, 0.863647, 0.864258, 0.864868, 0.865479, 0.866089, 0.866699, 0.867310, 0.867920, 0.868530, 0.869141, 0.869751, 0.870361, 0.870972, 0.871582, 0.872192, 0.872803, 0.873413, 0.874023, 0.874634, 0.875244, 0.875854, 0.876465, 0.877075, 0.877686, 0.878296, 0.878906, 0.879517, 0.880127, 0.880737, 0.881348, 0.881958, 0.882568, 0.883179, 0.883789, 0.884399, 0.885010, 0.885620, 0.886230, 0.886841, 0.887451, 0.888062, 0.888672, 0.889282, 0.889893, 0.890503, 0.891113, 0.891724, 0.892334, 0.892944, 0.893555, 0.894165, 0.894775, 0.895386, 0.895996, 0.896606, 0.897217, 0.897827, 0.898438, 0.899048, 0.899658, 0.900269, 0.900879, 0.901489, 0.902100, 0.902710, 0.903320, 0.903931, 0.904541, 0.905151, 0.905762, 0.906372, 0.906982, 0.907593, 0.908203, 0.908813, 0.909424, 0.910034, 0.910645, 0.911255, 0.911865, 0.912476, 0.913086, 0.913696, 0.914307, 0.914917, 0.915527, 0.916138, 0.916748, 0.917358, 0.917969, 0.918579, 0.919189, 0.919800, 0.920410, 0.921021, 0.921631, 0.922241, 0.922852, 0.923462, 0.924072, 0.924683, 0.925293, 0.925903, 0.926514, 0.927124, 0.927734, 0.928345, 0.928955, 0.929565, 0.930176, 0.930786, 0.931396, 0.932007, 0.932617, 0.933228, 0.933838, 0.934448, 0.935059, 0.935669, 0.936279, 0.936890, 0.937500, 0.938110, 0.938721, 0.939331, 0.939941, 0.940552, 0.941162, 0.941772, 0.942383, 0.942993, 0.943604, 0.944214, 0.944824, 0.945435, 0.946045, 0.946655, 0.947266, 0.947876, 0.948486, 0.949097, 0.949707, 0.950317, 0.950928, 0.951538, 0.952148, 0.952759, 0.953369, 0.953979, 0.954590, 0.955200, 0.955811, 0.956421, 0.957031, 0.957642, 0.958252, 0.958862, 0.959473, 0.960083, 0.960693, 0.961304, 0.961914, 0.962524, 0.963135, 0.963745, 0.964355, 0.964966, 0.965576, 0.966187, 0.966797, 0.967407, 0.968018, 0.968628, 0.969238, 0.969849, 0.970459, 0.971069, 0.971680, 0.972290, 0.972900, 0.973511, 0.974121, 0.974731, 0.975342, 0.975952, 0.976562, 0.977173, 0.977783, 0.978394, 0.979004, 0.979614, 0.980225, 0.980835, 0.981445, 0.982056, 0.982666, 0.983276, 0.983887, 0.984497, 0.985107, 0.985718, 0.986328, 0.986938, 0.987549, 0.988159, 0.988770, 0.989380, 0.989990, 0.990601, 0.991211, 0.991821, 0.992432, 0.993042, 0.993652, 0.994263, 0.994873, 0.995483, 0.996094, 0.996704, 0.997314, 0.997925, 0.998535, 0.999146, 0.999756, 1.000366, 1.000977, 1.001587, 1.002197, 1.002808, 1.003418, 1.004028, 1.004639, 1.005249, 1.005859, 1.006470, 1.007080, 1.007690, 1.008301, 1.008911, 1.009521, 1.010132, 1.010742, 1.011353, 1.011963, 1.012573, 1.013184, 1.013794, 1.014404, 1.015015, 1.015625, 1.016235, 1.016846, 1.017456, 1.018066, 1.018677, 1.019287, 1.019897, 1.020508, 1.021118, 1.021729, 1.022339, 1.022949, 1.023560, 1.024170, 1.024780, 1.025391, 1.026001, 1.026611, 1.027222, 1.027832, 1.028442, 1.029053, 1.029663, 1.030273, 1.030884, 1.031494, 1.032104, 1.032715, 1.033325, 1.033936, 1.034546, 1.035156, 1.035767, 1.036377, 1.036987, 1.037598, 1.038208, 1.038818, 1.039429, 1.040039, 1.040649, 1.041260, 1.041870, 1.042480, 1.043091, 1.043701, 1.044312, 1.044922, 1.045532, 1.046143, 1.046753, 1.047363, 1.047974, 1.048584, 1.049194, 1.049805, 1.050415, 1.051025, 1.051636, 1.052246, 1.052856, 1.053467, 1.054077, 1.054688, 1.055298, 1.055908, 1.056519, 1.057129, 1.057739, 1.058350, 1.058960, 1.059570, 1.060181, 1.060791, 1.061401, 1.062012, 1.062622, 1.063232, 1.063843, 1.064453, 1.065063, 1.065674, 1.066284, 1.066895, 1.067505, 1.068115, 1.068726, 1.069336, 1.069946, 1.070557, 1.071167, 1.071777, 1.072388, 1.072998, 1.073608, 1.074219, 1.074829, 1.075439, 1.076050, 1.076660, 1.077271, 1.077881, 1.078491, 1.079102, 1.079712, 1.080322, 1.080933, 1.081543, 1.082153, 1.082764, 1.083374, 1.083984, 1.084595, 1.085205, 1.085815, 1.086426, 1.087036, 1.087646, 1.088257, 1.088867, 1.089478, 1.090088, 1.090698, 1.091309, 1.091919, 1.092529, 1.093140, 1.093750, 1.094360, 1.094971, 1.095581, 1.096191, 1.096802, 1.097412, 1.098022, 1.098633, 1.099243, 1.099854, 1.100464, 1.101074, 1.101685, 1.102295, 1.102905, 1.103516, 1.104126, 1.104736, 1.105347, 1.105957, 1.106567, 1.107178, 1.107788, 1.108398, 1.109009, 1.109619, 1.110229, 1.110840, 1.111450, 1.112061, 1.112671, 1.113281, 1.113892, 1.114502, 1.115112, 1.115723, 1.116333, 1.116943, 1.117554, 1.118164, 1.118774, 1.119385, 1.119995, 1.120605, 1.121216, 1.121826, 1.122437, 1.123047, 1.123657, 1.124268, 1.124878, 1.125488, 1.126099, 1.126709, 1.127319, 1.127930, 1.128540, 1.129150, 1.129761, 1.130371, 1.130981, 1.131592, 1.132202, 1.132812, 1.133423, 1.134033, 1.134644, 1.135254, 1.135864, 1.136475, 1.137085, 1.137695, 1.138306, 1.138916, 1.139526, 1.140137, 1.140747, 1.141357, 1.141968, 1.142578, 1.143188, 1.143799, 1.144409, 1.145020, 1.145630, 1.146240, 1.146851, 1.147461, 1.148071, 1.148682, 1.149292, 1.149902, 1.150513, 1.151123, 1.151733, 1.152344, 1.152954, 1.153564, 1.154175, 1.154785, 1.155396, 1.156006, 1.156616, 1.157227, 1.157837, 1.158447, 1.159058, 1.159668, 1.160278, 1.160889, 1.161499, 1.162109, 1.162720, 1.163330, 1.163940, 1.164551, 1.165161, 1.165771, 1.166382, 1.166992, 1.167603, 1.168213, 1.168823, 1.169434, 1.170044, 1.170654, 1.171265, 1.171875, 1.172485, 1.173096, 1.173706, 1.174316, 1.174927, 1.175537, 1.176147, 1.176758, 1.177368, 1.177979, 1.178589, 1.179199, 1.179810, 1.180420, 1.181030, 1.181641, 1.182251, 1.182861, 1.183472, 1.184082, 1.184692, 1.185303, 1.185913, 1.186523, 1.187134, 1.187744, 1.188354, 1.188965, 1.189575, 1.190186, 1.190796, 1.191406, 1.192017, 1.192627, 1.193237, 1.193848, 1.194458, 1.195068, 1.195679, 1.196289, 1.196899, 1.197510, 1.198120, 1.198730, 1.199341, 1.199951, 1.200562, 1.201172, 1.201782, 1.202393, 1.203003, 1.203613, 1.204224, 1.204834, 1.205444, 1.206055, 1.206665, 1.207275, 1.207886, 1.208496, 1.209106, 1.209717, 1.210327, 1.210938, 1.211548, 1.212158, 1.212769, 1.213379, 1.213989, 1.214600, 1.215210, 1.215820, 1.216431, 1.217041, 1.217651, 1.218262, 1.218872, 1.219482, 1.220093, 1.220703, 1.221313, 1.221924, 1.222534, 1.223145, 1.223755, 1.224365, 1.224976, 1.225586, 1.226196, 1.226807, 1.227417, 1.228027, 1.228638, 1.229248, 1.229858, 1.230469, 1.231079, 1.231689, 1.232300, 1.232910, 1.233521, 1.234131, 1.234741, 1.235352, 1.235962, 1.236572, 1.237183, 1.237793, 1.238403, 1.239014, 1.239624, 1.240234, 1.240845, 1.241455, 1.242065, 1.242676, 1.243286, 1.243896, 1.244507, 1.245117, 1.245728, 1.246338, 1.246948, 1.247559, 1.248169, 1.248779, 1.249390, 1.250000, 1.250610, 1.251221, 1.251831, 1.252441, 1.253052, 1.253662, 1.254272, 1.254883, 1.255493, 1.256104, 1.256714, 1.257324, 1.257935, 1.258545, 1.259155, 1.259766, 1.260376, 1.260986, 1.261597, 1.262207, 1.262817, 1.263428, 1.264038, 1.264648, 1.265259, 1.265869, 1.266479, 1.267090, 1.267700, 1.268311, 1.268921, 1.269531, 1.270142, 1.270752, 1.271362, 1.271973, 1.272583, 1.273193, 1.273804, 1.274414, 1.275024, 1.275635, 1.276245, 1.276855, 1.277466, 1.278076, 1.278687, 1.279297, 1.279907, 1.280518, 1.281128, 1.281738, 1.282349, 1.282959, 1.283569, 1.284180, 1.284790, 1.285400, 1.286011, 1.286621, 1.287231, 1.287842, 1.288452, 1.289062, 1.289673, 1.290283, 1.290894, 1.291504, 1.292114, 1.292725, 1.293335, 1.293945, 1.294556, 1.295166, 1.295776, 1.296387, 1.296997, 1.297607, 1.298218, 1.298828, 1.299438, 1.300049, 1.300659, 1.301270, 1.301880, 1.302490, 1.303101, 1.303711, 1.304321, 1.304932, 1.305542, 1.306152, 1.306763, 1.307373, 1.307983, 1.308594, 1.309204, 1.309814, 1.310425, 1.311035, 1.311646, 1.312256, 1.312866, 1.313477, 1.314087, 1.314697, 1.315308, 1.315918, 1.316528, 1.317139, 1.317749, 1.318359, 1.318970, 1.319580, 1.320190, 1.320801, 1.321411, 1.322021, 1.322632, 1.323242, 1.323853, 1.324463, 1.325073, 1.325684, 1.326294, 1.326904, 1.327515, 1.328125, 1.328735, 1.329346, 1.329956, 1.330566, 1.331177, 1.331787, 1.332397, 1.333008, 1.333618, 1.334229, 1.334839, 1.335449, 1.336060, 1.336670, 1.337280, 1.337891, 1.338501, 1.339111, 1.339722, 1.340332, 1.340942, 1.341553, 1.342163, 1.342773, 1.343384, 1.343994, 1.344604, 1.345215, 1.345825, 1.346436, 1.347046, 1.347656, 1.348267, 1.348877, 1.349487, 1.350098, 1.350708, 1.351318, 1.351929, 1.352539, 1.353149, 1.353760, 1.354370, 1.354980, 1.355591, 1.356201, 1.356812, 1.357422, 1.358032, 1.358643, 1.359253, 1.359863, 1.360474, 1.361084, 1.361694, 1.362305, 1.362915, 1.363525, 1.364136, 1.364746, 1.365356, 1.365967, 1.366577, 1.367188, 1.367798, 1.368408, 1.369019, 1.369629, 1.370239, 1.370850, 1.371460, 1.372070, 1.372681, 1.373291, 1.373901, 1.374512, 1.375122, 1.375732, 1.376343, 1.376953, 1.377563, 1.378174, 1.378784, 1.379395, 1.380005, 1.380615, 1.381226, 1.381836, 1.382446, 1.383057, 1.383667, 1.384277, 1.384888, 1.385498, 1.386108, 1.386719, 1.387329, 1.387939, 1.388550, 1.389160, 1.389771, 1.390381, 1.390991, 1.391602, 1.392212, 1.392822, 1.393433, 1.394043, 1.394653, 1.395264, 1.395874, 1.396484, 1.397095, 1.397705, 1.398315, 1.398926, 1.399536, 1.400146, 1.400757, 1.401367, 1.401978, 1.402588, 1.403198, 1.403809, 1.404419, 1.405029, 1.405640, 1.406250, 1.406860, 1.407471, 1.408081, 1.408691, 1.409302, 1.409912, 1.410522, 1.411133, 1.411743, 1.412354, 1.412964, 1.413574, 1.414185, 1.414795, 1.415405, 1.416016, 1.416626, 1.417236, 1.417847, 1.418457, 1.419067, 1.419678, 1.420288, 1.420898, 1.421509, 1.422119, 1.422729, 1.423340, 1.423950, 1.424561, 1.425171, 1.425781, 1.426392, 1.427002, 1.427612, 1.428223, 1.428833, 1.429443, 1.430054, 1.430664, 1.431274, 1.431885, 1.432495, 1.433105, 1.433716, 1.434326, 1.434937, 1.435547, 1.436157, 1.436768, 1.437378, 1.437988, 1.438599, 1.439209, 1.439819, 1.440430, 1.441040, 1.441650, 1.442261, 1.442871, 1.443481, 1.444092, 1.444702, 1.445312, 1.445923, 1.446533, 1.447144, 1.447754, 1.448364, 1.448975, 1.449585, 1.450195, 1.450806, 1.451416, 1.452026, 1.452637, 1.453247, 1.453857, 1.454468, 1.455078, 1.455688, 1.456299, 1.456909, 1.457520, 1.458130, 1.458740, 1.459351, 1.459961, 1.460571, 1.461182, 1.461792, 1.462402, 1.463013, 1.463623, 1.464233, 1.464844, 1.465454, 1.466064, 1.466675, 1.467285, 1.467896, 1.468506, 1.469116, 1.469727, 1.470337, 1.470947, 1.471558, 1.472168, 1.472778, 1.473389, 1.473999, 1.474609, 1.475220, 1.475830, 1.476440, 1.477051, 1.477661, 1.478271, 1.478882, 1.479492, 1.480103, 1.480713, 1.481323, 1.481934, 1.482544, 1.483154, 1.483765, 1.484375, 1.484985, 1.485596, 1.486206, 1.486816, 1.487427, 1.488037, 1.488647, 1.489258, 1.489868, 1.490479, 1.491089, 1.491699, 1.492310, 1.492920, 1.493530, 1.494141, 1.494751, 1.495361, 1.495972, 1.496582, 1.497192, 1.497803, 1.498413, 1.499023, 1.499634, 1.500244, 1.500854, 1.501465, 1.502075, 1.502686, 1.503296, 1.503906, 1.504517, 1.505127, 1.505737, 1.506348, 1.506958, 1.507568, 1.508179, 1.508789, 1.509399, 1.510010, 1.510620, 1.511230, 1.511841, 1.512451, 1.513062, 1.513672, 1.514282, 1.514893, 1.515503, 1.516113, 1.516724, 1.517334, 1.517944, 1.518555, 1.519165, 1.519775, 1.520386, 1.520996, 1.521606, 1.522217, 1.522827, 1.523438, 1.524048, 1.524658, 1.525269, 1.525879, 1.526489, 1.527100, 1.527710, 1.528320, 1.528931, 1.529541, 1.530151, 1.530762, 1.531372, 1.531982, 1.532593, 1.533203, 1.533813, 1.534424, 1.535034, 1.535645, 1.536255, 1.536865, 1.537476, 1.538086, 1.538696, 1.539307, 1.539917, 1.540527, 1.541138, 1.541748, 1.542358, 1.542969, 1.543579, 1.544189, 1.544800, 1.545410, 1.546021, 1.546631, 1.547241, 1.547852, 1.548462, 1.549072, 1.549683, 1.550293, 1.550903, 1.551514, 1.552124, 1.552734, 1.553345, 1.553955, 1.554565, 1.555176, 1.555786, 1.556396, 1.557007, 1.557617, 1.558228, 1.558838, 1.559448, 1.560059, 1.560669, 1.561279, 1.561890, 1.562500, 1.563110, 1.563721, 1.564331, 1.564941, 1.565552, 1.566162, 1.566772, 1.567383, 1.567993, 1.568604, 1.569214, 1.569824, 1.570435, 1.571045, 1.571655, 1.572266, 1.572876, 1.573486, 1.574097, 1.574707, 1.575317, 1.575928, 1.576538, 1.577148, 1.577759, 1.578369, 1.578979, 1.579590, 1.580200, 1.580811, 1.581421, 1.582031, 1.582642, 1.583252, 1.583862, 1.584473, 1.585083, 1.585693, 1.586304, 1.586914, 1.587524, 1.588135, 1.588745, 1.589355, 1.589966, 1.590576, 1.591187, 1.591797, 1.592407, 1.593018, 1.593628, 1.594238, 1.594849, 1.595459, 1.596069, 1.596680, 1.597290, 1.597900, 1.598511, 1.599121, 1.599731, 1.600342, 1.600952, 1.601562, 1.602173, 1.602783, 1.603394, 1.604004, 1.604614, 1.605225, 1.605835, 1.606445, 1.607056, 1.607666, 1.608276, 1.608887, 1.609497, 1.610107, 1.610718, 1.611328, 1.611938, 1.612549, 1.613159, 1.613770, 1.614380, 1.614990, 1.615601, 1.616211, 1.616821, 1.617432, 1.618042, 1.618652, 1.619263, 1.619873, 1.620483, 1.621094, 1.621704, 1.622314, 1.622925, 1.623535, 1.624146, 1.624756, 1.625366, 1.625977, 1.626587, 1.627197, 1.627808, 1.628418, 1.629028, 1.629639, 1.630249, 1.630859, 1.631470, 1.632080, 1.632690, 1.633301, 1.633911, 1.634521, 1.635132, 1.635742, 1.636353, 1.636963, 1.637573, 1.638184, 1.638794, 1.639404, 1.640015, 1.640625, 1.641235, 1.641846, 1.642456, 1.643066, 1.643677, 1.644287, 1.644897, 1.645508, 1.646118, 1.646729, 1.647339, 1.647949, 1.648560, 1.649170, 1.649780, 1.650391, 1.651001, 1.651611, 1.652222, 1.652832, 1.653442, 1.654053, 1.654663, 1.655273, 1.655884, 1.656494, 1.657104, 1.657715, 1.658325, 1.658936, 1.659546, 1.660156, 1.660767, 1.661377, 1.661987, 1.662598, 1.663208, 1.663818, 1.664429, 1.665039, 1.665649, 1.666260, 1.666870, 1.667480, 1.668091, 1.668701, 1.669312, 1.669922, 1.670532, 1.671143, 1.671753, 1.672363, 1.672974, 1.673584, 1.674194, 1.674805, 1.675415, 1.676025, 1.676636, 1.677246, 1.677856, 1.678467, 1.679077, 1.679688, 1.680298, 1.680908, 1.681519, 1.682129, 1.682739, 1.683350, 1.683960, 1.684570, 1.685181, 1.685791, 1.686401, 1.687012, 1.687622, 1.688232, 1.688843, 1.689453, 1.690063, 1.690674, 1.691284, 1.691895, 1.692505, 1.693115, 1.693726, 1.694336, 1.694946, 1.695557, 1.696167, 1.696777, 1.697388, 1.697998, 1.698608, 1.699219, 1.699829, 1.700439, 1.701050, 1.701660, 1.702271, 1.702881, 1.703491, 1.704102, 1.704712, 1.705322, 1.705933, 1.706543, 1.707153, 1.707764, 1.708374, 1.708984, 1.709595, 1.710205, 1.710815, 1.711426, 1.712036, 1.712646, 1.713257, 1.713867, 1.714478, 1.715088, 1.715698, 1.716309, 1.716919, 1.717529, 1.718140, 1.718750, 1.719360, 1.719971, 1.720581, 1.721191, 1.721802, 1.722412, 1.723022, 1.723633, 1.724243, 1.724854, 1.725464, 1.726074, 1.726685, 1.727295, 1.727905, 1.728516, 1.729126, 1.729736, 1.730347, 1.730957, 1.731567, 1.732178, 1.732788, 1.733398, 1.734009, 1.734619, 1.735229, 1.735840, 1.736450, 1.737061, 1.737671, 1.738281, 1.738892, 1.739502, 1.740112, 1.740723, 1.741333, 1.741943, 1.742554, 1.743164, 1.743774, 1.744385, 1.744995, 1.745605, 1.746216, 1.746826, 1.747437, 1.748047, 1.748657, 1.749268, 1.749878, 1.750488, 1.751099, 1.751709, 1.752319, 1.752930, 1.753540, 1.754150, 1.754761, 1.755371, 1.755981, 1.756592, 1.757202, 1.757812, 1.758423, 1.759033, 1.759644, 1.760254, 1.760864, 1.761475, 1.762085, 1.762695, 1.763306, 1.763916, 1.764526, 1.765137, 1.765747, 1.766357, 1.766968, 1.767578, 1.768188, 1.768799, 1.769409, 1.770020, 1.770630, 1.771240, 1.771851, 1.772461, 1.773071, 1.773682, 1.774292, 1.774902, 1.775513, 1.776123, 1.776733, 1.777344, 1.777954, 1.778564, 1.779175, 1.779785, 1.780396, 1.781006, 1.781616, 1.782227, 1.782837, 1.783447, 1.784058, 1.784668, 1.785278, 1.785889, 1.786499, 1.787109, 1.787720, 1.788330, 1.788940, 1.789551, 1.790161, 1.790771, 1.791382, 1.791992, 1.792603, 1.793213, 1.793823, 1.794434, 1.795044, 1.795654, 1.796265, 1.796875, 1.797485, 1.798096, 1.798706, 1.799316, 1.799927, 1.800537, 1.801147, 1.801758, 1.802368, 1.802979, 1.803589, 1.804199, 1.804810, 1.805420, 1.806030, 1.806641, 1.807251, 1.807861, 1.808472, 1.809082, 1.809692, 1.810303, 1.810913, 1.811523, 1.812134, 1.812744, 1.813354, 1.813965, 1.814575, 1.815186, 1.815796, 1.816406, 1.817017, 1.817627, 1.818237, 1.818848, 1.819458, 1.820068, 1.820679, 1.821289, 1.821899, 1.822510, 1.823120, 1.823730, 1.824341, 1.824951, 1.825562, 1.826172, 1.826782, 1.827393, 1.828003, 1.828613, 1.829224, 1.829834, 1.830444, 1.831055, 1.831665, 1.832275, 1.832886, 1.833496, 1.834106, 1.834717, 1.835327, 1.835938, 1.836548, 1.837158, 1.837769, 1.838379, 1.838989, 1.839600, 1.840210, 1.840820, 1.841431, 1.842041, 1.842651, 1.843262, 1.843872, 1.844482, 1.845093, 1.845703, 1.846313, 1.846924, 1.847534, 1.848145, 1.848755, 1.849365, 1.849976, 1.850586, 1.851196, 1.851807, 1.852417, 1.853027, 1.853638, 1.854248, 1.854858, 1.855469, 1.856079, 1.856689, 1.857300, 1.857910, 1.858521, 1.859131, 1.859741, 1.860352, 1.860962, 1.861572, 1.862183, 1.862793, 1.863403, 1.864014, 1.864624, 1.865234, 1.865845, 1.866455, 1.867065, 1.867676, 1.868286, 1.868896, 1.869507, 1.870117, 1.870728, 1.871338, 1.871948, 1.872559, 1.873169, 1.873779, 1.874390, 1.875000, 1.875610, 1.876221, 1.876831, 1.877441, 1.878052, 1.878662, 1.879272, 1.879883, 1.880493, 1.881104, 1.881714, 1.882324, 1.882935, 1.883545, 1.884155, 1.884766, 1.885376, 1.885986, 1.886597, 1.887207, 1.887817, 1.888428, 1.889038, 1.889648, 1.890259, 1.890869, 1.891479, 1.892090, 1.892700, 1.893311, 1.893921, 1.894531, 1.895142, 1.895752, 1.896362, 1.896973, 1.897583, 1.898193, 1.898804, 1.899414, 1.900024, 1.900635, 1.901245, 1.901855, 1.902466, 1.903076, 1.903687, 1.904297, 1.904907, 1.905518, 1.906128, 1.906738, 1.907349, 1.907959, 1.908569, 1.909180, 1.909790, 1.910400, 1.911011, 1.911621, 1.912231, 1.912842, 1.913452, 1.914062, 1.914673, 1.915283, 1.915894, 1.916504, 1.917114, 1.917725, 1.918335, 1.918945, 1.919556, 1.920166, 1.920776, 1.921387, 1.921997, 1.922607, 1.923218, 1.923828, 1.924438, 1.925049, 1.925659, 1.926270, 1.926880, 1.927490, 1.928101, 1.928711, 1.929321, 1.929932, 1.930542, 1.931152, 1.931763, 1.932373, 1.932983, 1.933594, 1.934204, 1.934814, 1.935425, 1.936035, 1.936646, 1.937256, 1.937866, 1.938477, 1.939087, 1.939697, 1.940308, 1.940918, 1.941528, 1.942139, 1.942749, 1.943359, 1.943970, 1.944580, 1.945190, 1.945801, 1.946411, 1.947021, 1.947632, 1.948242, 1.948853, 1.949463, 1.950073, 1.950684, 1.951294, 1.951904, 1.952515, 1.953125, 1.953735, 1.954346, 1.954956, 1.955566, 1.956177, 1.956787, 1.957397, 1.958008, 1.958618, 1.959229, 1.959839, 1.960449, 1.961060, 1.961670, 1.962280, 1.962891, 1.963501, 1.964111, 1.964722, 1.965332, 1.965942, 1.966553, 1.967163, 1.967773, 1.968384, 1.968994, 1.969604, 1.970215, 1.970825, 1.971436, 1.972046, 1.972656, 1.973267, 1.973877, 1.974487, 1.975098, 1.975708, 1.976318, 1.976929, 1.977539, 1.978149, 1.978760, 1.979370, 1.979980, 1.980591, 1.981201, 1.981812, 1.982422, 1.983032, 1.983643, 1.984253, 1.984863, 1.985474, 1.986084, 1.986694, 1.987305, 1.987915, 1.988525, 1.989136, 1.989746, 1.990356, 1.990967, 1.991577, 1.992188, 1.992798, 1.993408, 1.994019, 1.994629, 1.995239, 1.995850, 1.996460, 1.997070, 1.997681, 1.998291, 1.998901, 1.999512, 2.000122, 2.000732, 2.001343, 2.001953, 2.002563, 2.003174, 2.003784, 2.004395, 2.005005, 2.005615, 2.006226, 2.006836, 2.007446, 2.008057, 2.008667, 2.009277, 2.009888, 2.010498, 2.011108, 2.011719, 2.012329, 2.012939, 2.013550, 2.014160, 2.014771, 2.015381, 2.015991, 2.016602, 2.017212, 2.017822, 2.018433, 2.019043, 2.019653, 2.020264, 2.020874, 2.021484, 2.022095, 2.022705, 2.023315, 2.023926, 2.024536, 2.025146, 2.025757, 2.026367, 2.026978, 2.027588, 2.028198, 2.028809, 2.029419, 2.030029, 2.030640, 2.031250, 2.031860, 2.032471, 2.033081, 2.033691, 2.034302, 2.034912, 2.035522, 2.036133, 2.036743, 2.037354, 2.037964, 2.038574, 2.039185, 2.039795, 2.040405, 2.041016, 2.041626, 2.042236, 2.042847, 2.043457, 2.044067, 2.044678, 2.045288, 2.045898, 2.046509, 2.047119, 2.047729, 2.048340, 2.048950, 2.049561, 2.050171, 2.050781, 2.051392, 2.052002, 2.052612, 2.053223, 2.053833, 2.054443, 2.055054, 2.055664, 2.056274, 2.056885, 2.057495, 2.058105, 2.058716, 2.059326, 2.059937, 2.060547, 2.061157, 2.061768, 2.062378, 2.062988, 2.063599, 2.064209, 2.064819, 2.065430, 2.066040, 2.066650, 2.067261, 2.067871, 2.068481, 2.069092, 2.069702, 2.070312, 2.070923, 2.071533, 2.072144, 2.072754, 2.073364, 2.073975, 2.074585, 2.075195, 2.075806, 2.076416, 2.077026, 2.077637, 2.078247, 2.078857, 2.079468, 2.080078, 2.080688, 2.081299, 2.081909, 2.082520, 2.083130, 2.083740, 2.084351, 2.084961, 2.085571, 2.086182, 2.086792, 2.087402, 2.088013, 2.088623, 2.089233, 2.089844, 2.090454, 2.091064, 2.091675, 2.092285, 2.092896, 2.093506, 2.094116, 2.094727, 2.095337, 2.095947, 2.096558, 2.097168, 2.097778, 2.098389, 2.098999, 2.099609, 2.100220, 2.100830, 2.101440, 2.102051, 2.102661, 2.103271, 2.103882, 2.104492, 2.105103, 2.105713, 2.106323, 2.106934, 2.107544, 2.108154, 2.108765, 2.109375, 2.109985, 2.110596, 2.111206, 2.111816, 2.112427, 2.113037, 2.113647, 2.114258, 2.114868, 2.115479, 2.116089, 2.116699, 2.117310, 2.117920, 2.118530, 2.119141, 2.119751, 2.120361, 2.120972, 2.121582, 2.122192, 2.122803, 2.123413, 2.124023, 2.124634, 2.125244, 2.125854, 2.126465, 2.127075, 2.127686, 2.128296, 2.128906, 2.129517, 2.130127, 2.130737, 2.131348, 2.131958, 2.132568, 2.133179, 2.133789, 2.134399, 2.135010, 2.135620, 2.136230, 2.136841, 2.137451, 2.138062, 2.138672, 2.139282, 2.139893, 2.140503, 2.141113, 2.141724, 2.142334, 2.142944, 2.143555, 2.144165, 2.144775, 2.145386, 2.145996, 2.146606, 2.147217, 2.147827, 2.148438, 2.149048, 2.149658, 2.150269, 2.150879, 2.151489, 2.152100, 2.152710, 2.153320, 2.153931, 2.154541, 2.155151, 2.155762, 2.156372, 2.156982, 2.157593, 2.158203, 2.158813, 2.159424, 2.160034, 2.160645, 2.161255, 2.161865, 2.162476, 2.163086, 2.163696, 2.164307, 2.164917, 2.165527, 2.166138, 2.166748, 2.167358, 2.167969, 2.168579, 2.169189, 2.169800, 2.170410, 2.171021, 2.171631, 2.172241, 2.172852, 2.173462, 2.174072, 2.174683, 2.175293, 2.175903, 2.176514, 2.177124, 2.177734, 2.178345, 2.178955, 2.179565, 2.180176, 2.180786, 2.181396, 2.182007, 2.182617, 2.183228, 2.183838, 2.184448, 2.185059, 2.185669, 2.186279, 2.186890, 2.187500, 2.188110, 2.188721, 2.189331, 2.189941, 2.190552, 2.191162, 2.191772, 2.192383, 2.192993, 2.193604, 2.194214, 2.194824, 2.195435, 2.196045, 2.196655, 2.197266, 2.197876, 2.198486, 2.199097, 2.199707, 2.200317, 2.200928, 2.201538, 2.202148, 2.202759, 2.203369, 2.203979, 2.204590, 2.205200, 2.205811, 2.206421, 2.207031, 2.207642, 2.208252, 2.208862, 2.209473, 2.210083, 2.210693, 2.211304, 2.211914, 2.212524, 2.213135, 2.213745, 2.214355, 2.214966, 2.215576, 2.216187, 2.216797, 2.217407, 2.218018, 2.218628, 2.219238, 2.219849, 2.220459, 2.221069, 2.221680, 2.222290, 2.222900, 2.223511, 2.224121, 2.224731, 2.225342, 2.225952, 2.226562, 2.227173, 2.227783, 2.228394, 2.229004, 2.229614, 2.230225, 2.230835, 2.231445, 2.232056, 2.232666, 2.233276, 2.233887, 2.234497, 2.235107, 2.235718, 2.236328, 2.236938, 2.237549, 2.238159, 2.238770, 2.239380, 2.239990, 2.240601, 2.241211, 2.241821, 2.242432, 2.243042, 2.243652, 2.244263, 2.244873, 2.245483, 2.246094, 2.246704, 2.247314, 2.247925, 2.248535, 2.249146, 2.249756, 2.250366, 2.250977, 2.251587, 2.252197, 2.252808, 2.253418, 2.254028, 2.254639, 2.255249, 2.255859, 2.256470, 2.257080, 2.257690, 2.258301, 2.258911, 2.259521, 2.260132, 2.260742, 2.261353, 2.261963, 2.262573, 2.263184, 2.263794, 2.264404, 2.265015, 2.265625, 2.266235, 2.266846, 2.267456, 2.268066, 2.268677, 2.269287, 2.269897, 2.270508, 2.271118, 2.271729, 2.272339, 2.272949, 2.273560, 2.274170, 2.274780, 2.275391, 2.276001, 2.276611, 2.277222, 2.277832, 2.278442, 2.279053, 2.279663, 2.280273, 2.280884, 2.281494, 2.282104, 2.282715, 2.283325, 2.283936, 2.284546, 2.285156, 2.285767, 2.286377, 2.286987, 2.287598, 2.288208, 2.288818, 2.289429, 2.290039, 2.290649, 2.291260, 2.291870, 2.292480, 2.293091, 2.293701, 2.294312, 2.294922, 2.295532, 2.296143, 2.296753, 2.297363, 2.297974, 2.298584, 2.299194, 2.299805, 2.300415, 2.301025, 2.301636, 2.302246, 2.302856, 2.303467, 2.304077, 2.304688, 2.305298, 2.305908, 2.306519, 2.307129, 2.307739, 2.308350, 2.308960, 2.309570, 2.310181, 2.310791, 2.311401, 2.312012, 2.312622, 2.313232, 2.313843, 2.314453, 2.315063, 2.315674, 2.316284, 2.316895, 2.317505, 2.318115, 2.318726, 2.319336, 2.319946, 2.320557, 2.321167, 2.321777, 2.322388, 2.322998, 2.323608, 2.324219, 2.324829, 2.325439, 2.326050, 2.326660, 2.327271, 2.327881, 2.328491, 2.329102, 2.329712, 2.330322, 2.330933, 2.331543, 2.332153, 2.332764, 2.333374, 2.333984, 2.334595, 2.335205, 2.335815, 2.336426, 2.337036, 2.337646, 2.338257, 2.338867, 2.339478, 2.340088, 2.340698, 2.341309, 2.341919, 2.342529, 2.343140, 2.343750, 2.344360, 2.344971, 2.345581, 2.346191, 2.346802, 2.347412, 2.348022, 2.348633, 2.349243, 2.349854, 2.350464, 2.351074, 2.351685, 2.352295, 2.352905, 2.353516, 2.354126, 2.354736, 2.355347, 2.355957, 2.356567, 2.357178, 2.357788, 2.358398, 2.359009, 2.359619, 2.360229, 2.360840, 2.361450, 2.362061, 2.362671, 2.363281, 2.363892, 2.364502, 2.365112, 2.365723, 2.366333, 2.366943, 2.367554, 2.368164, 2.368774, 2.369385, 2.369995, 2.370605, 2.371216, 2.371826, 2.372437, 2.373047, 2.373657, 2.374268, 2.374878, 2.375488, 2.376099, 2.376709, 2.377319, 2.377930, 2.378540, 2.379150, 2.379761, 2.380371, 2.380981, 2.381592, 2.382202, 2.382812, 2.383423, 2.384033, 2.384644, 2.385254, 2.385864, 2.386475, 2.387085, 2.387695, 2.388306, 2.388916, 2.389526, 2.390137, 2.390747, 2.391357, 2.391968, 2.392578, 2.393188, 2.393799, 2.394409, 2.395020, 2.395630, 2.396240, 2.396851, 2.397461, 2.398071, 2.398682, 2.399292, 2.399902, 2.400513, 2.401123, 2.401733, 2.402344, 2.402954, 2.403564, 2.404175, 2.404785, 2.405396, 2.406006, 2.406616, 2.407227, 2.407837, 2.408447, 2.409058, 2.409668, 2.410278, 2.410889, 2.411499, 2.412109, 2.412720, 2.413330, 2.413940, 2.414551, 2.415161, 2.415771, 2.416382, 2.416992, 2.417603, 2.418213, 2.418823, 2.419434, 2.420044, 2.420654, 2.421265, 2.421875, 2.422485, 2.423096, 2.423706, 2.424316, 2.424927, 2.425537, 2.426147, 2.426758, 2.427368, 2.427979, 2.428589, 2.429199, 2.429810, 2.430420, 2.431030, 2.431641, 2.432251, 2.432861, 2.433472, 2.434082, 2.434692, 2.435303, 2.435913, 2.436523, 2.437134, 2.437744, 2.438354, 2.438965, 2.439575, 2.440186, 2.440796, 2.441406, 2.442017, 2.442627, 2.443237, 2.443848, 2.444458, 2.445068, 2.445679, 2.446289, 2.446899, 2.447510, 2.448120, 2.448730, 2.449341, 2.449951, 2.450562, 2.451172, 2.451782, 2.452393, 2.453003, 2.453613, 2.454224, 2.454834, 2.455444, 2.456055, 2.456665, 2.457275, 2.457886, 2.458496, 2.459106, 2.459717, 2.460327, 2.460938, 2.461548, 2.462158, 2.462769, 2.463379, 2.463989, 2.464600, 2.465210, 2.465820, 2.466431, 2.467041, 2.467651, 2.468262, 2.468872, 2.469482, 2.470093, 2.470703, 2.471313, 2.471924, 2.472534, 2.473145, 2.473755, 2.474365, 2.474976, 2.475586, 2.476196, 2.476807, 2.477417, 2.478027, 2.478638, 2.479248, 2.479858, 2.480469, 2.481079, 2.481689, 2.482300, 2.482910, 2.483521, 2.484131, 2.484741, 2.485352, 2.485962, 2.486572, 2.487183, 2.487793, 2.488403, 2.489014, 2.489624, 2.490234, 2.490845, 2.491455, 2.492065, 2.492676, 2.493286, 2.493896, 2.494507, 2.495117, 2.495728, 2.496338, 2.496948, 2.497559, 2.498169, 2.498779, 2.500000 };