├── README.md
├── data
├── hawkes
│ ├── time-test.txt
│ └── time-train.txt
└── self-correcting
│ ├── event-test.txt
│ ├── event-train.txt
│ ├── time-test.txt
│ ├── time-train.txt
│ └── time.txt
├── model.py
├── test.py
└── train.py
/README.md:
--------------------------------------------------------------------------------
1 | # RMTPP-pytorch
2 | ## Material in this file:
3 | Introduction
4 | Preparation and How to Run Code
5 | Model Description
6 | Result
7 | Acknowledgement and Reference
8 | ### Introduction
9 | This repository is the implementation of model described in paper Du, Nan, et al. [“Recurrent Marked Temporal Point Processes.”](https://www.kdd.org/kdd2016/subtopic/view/recurrent-temporal-point-process) by pytorch. This repository also use the same data as the data used in the paper. The rest of this section is a recap of the paper.
10 |
11 | Discrete events with different types, which is defined as Marked Temporal Point Process, is usually generated in real life setting. Some past events may increase or decrease the occurrence probability of other kinds of event in the future. For example, in health care system having some type of medicines may cause a lower probability of some specific disease, and in social media like twitter some tweets may cause an increasing number of tweets of the same topic in a short time. The Recurrent Marked Temporal Point Process (RMTPP) model is robust to predict the next event time and next event type. That is, given a stream of past event times t and past event types k of form
{(k1, t1), (k2, t2), … (kn, tn)}, where 1,2,n represents the 1st, 2nd, nth event
, it can predict the next type and type (kn+1, tn+1)
12 |
13 | ### Preparation and How to Run the Code
14 | You can run the code on your own computer or on python notebooks like Google Colab, Anaconda Jupyter Notebook. It is recommended to run the script on google colab (https://colab.research.google.com/) or similar python notebooks if you do not have a dedicated GPU on your computer.
15 |
16 | 1. To run the program on your computer, please make sure that you have the following files and packages being downloaded.
17 | - Python3: you can download through the link here: https://www.python.org/
18 | - Numpy: you can dowload it through command pip install numpy
19 | - Scikit-Learn: you can download it through command pip install sklearn
20 | - Scipy: you can download it through command pip install scipy
21 | - Pytorch: pytorch installation is more complicated than the package described above. You can go to https://pytorch.org/get-started/locally/ for more information. If you still cannot install it on windows computer through pip, you can download Anaconda first and then download the pytorch through method described here: https://dziganto.github.io/data%20science/python/anaconda/Creating-Conda-Environments/
22 |
23 |
24 | 2. You can also run the code on Google Colab. You first need to connect this repository to Colab by the following code:
!git clone https://github.com/Hongrui24/RMTPP-pytorch
Then cd to this directory by !cd RMTPP-pytorch
25 |
26 | 3. To train the model, you can type the following for guide: !python train.py --help
Sample command line can be !python train.py --lr 0.03 --epochs 500 --data hawkes
27 | To test the trained model, you can type the following for guide: !python test.py --help
Sample command line can be !python test.py --data hawkes
28 |
29 | After done the test, you can find the result plots in the same file named by "result.png".
30 |
31 | ### Model Description
32 | This is a recap of the model described in the paper:
33 |
34 | This model is trained by Backpropogation Through Time (BPTT) method. That is, for each event stream {(kj, tj)} we take b consecutive events as input into the model, and unroll the model for b steps through time. However, we will use the whole history of event stream to make prediction for hawkes and self-correcting.
35 | We input the jth event (kj, tj) into the jth layer of the model. The event type, which is in one-hot representation, is embeded into a single value. yj = We·kj+b
We extract the inter-event duration from the time tj by making dj = tj - tj-1, and d0 = 0
Then, we feed the type value and inter-event duration into the jth layer of the RNN cell. In order to prevent the dying relu problem, all weights are initialized with positive values. We update the hidden layer of the RNN by hj = relu(Wy·yj + Wt·dj+Wh·hj-1 + b)
Then, we get the predict event type probability through softmax method. We can also get the time intensity and conditional density of time by λ*(t) = exp(V·ht + w*dt + bias)
f(t) = exp(V·ht + w*dt + bias + (exp(V·ht+ bias)-exp(V·ht + w*dt + bias)/w)
For training process, we minimize the negative log likelihood of the time, and we use the expectation to predict the next time.
36 |
37 |
38 |
39 | ### Model Test Results
40 |
41 | We test our model with the data used in the paper's generative experiments of predicting Hawkes and Self-correcting. The results show that the model implemented by pytorch is able to get the similar result as the result described in the paper after the model is trained with 500 epochs with 0.03 learning rate. In each of the picture below the graphs are prediction on inter-event duration, intensity, and Root-Mean-Squared-Error accordingly.
42 | Test on Hawkes:
43 | 
44 | Comparing to the results on the paper:
45 | 
46 |
47 | Test on Self-correcting:
48 | 
49 | Comparing to the results on the paper:
50 | 
51 |
52 |
53 | ### Acknowledgement
54 | The model is built by Hongrui Lyu, supervised by of Hyunouk Ko and Xiaoming Huo. This repository is built upon the model described in paper Du, Nan, et al. [“Recurrent Marked Temporal Point Processes.”](https://www.kdd.org/kdd2016/subtopic/view/recurrent-temporal-point-process). We also use a similar pytorch implementation by [Yunxuan Xiao](https://github.com/woshiyyya/ERPP-RMTPP) to debug the model.
55 |
--------------------------------------------------------------------------------
/data/hawkes/time-test.txt:
--------------------------------------------------------------------------------
1 | 0.105662161187 0.217422690787 0.63849237767 0.752145532084 1.26323942152 1.7093075963 1.80650402695 2.84978593604 3.54519792764 4.01070158484 6.89714908912 7.46334052693 8.37979673604 8.48972978016 9.72531651704 14.4385452832 15.6682542832 17.3708123822 24.3356321178 26.0835240249 26.648959334 27.0667663922 54.6793834202 58.3929905523 62.4370055119 62.6811261513 62.9241957243 63.1505151223 63.1849816441 63.8640251102 64.018903277 64.3545249108 65.1331191366 66.4926630794 69.8856661593 70.5824156834 80.4656646839 80.594800601 80.9393995184 81.0400447211 81.0546781498 81.0815105656 81.7592009265 83.1556399387 83.3840824831 84.127902511 84.3965077619 85.3557564401 86.9378458526 87.0966189067 87.5231999671 88.9630047392 91.326198849 91.4408654179 92.0798593696 93.5894540611 94.6312965509 94.6587690452 96.0572114084 100.683356604 101.239327312 101.836002805 102.095157611 105.412524631 106.013333344 107.76450582 111.262684241 114.120225661 123.796737587 123.821975939 126.294056326 126.647252838 126.997734456 128.029278147 128.93288659 129.589192222 130.081170998 131.070900491 131.464077222 131.850939009 133.417855568 137.943029097 141.313761342 152.849339341 152.996341893 153.258562347 153.393727848 153.530730618 155.539073886 155.540554227 170.203868854 172.09955041 172.188435516 172.986499406 173.027270859 174.473687797 175.953629009 176.021579793 176.295157657 177.473671152 178.640009993 178.673645863 178.768655516 178.788512461 179.089850824 179.538540079 179.690551662 179.799261593 179.999351675 180.109013581 180.276572429 180.279261487 180.295784254 180.30386534 180.326720064 180.372162473 180.420244258 180.442648876 180.483300927 180.660600609 180.785488668 180.836578184 180.881032387 180.967410178 180.97475331 181.016858893 181.076066207 181.216834234 181.22785736 181.253035215 181.340687517 181.442107744 181.568197206 181.607685711 181.612590492 181.63665972 181.690037269 181.697998422 181.714128843 181.855731274 181.874778782 182.168705566 182.282602536 182.458336887 182.581990703 182.99754447 183.02730543 183.062810724 183.066047922 183.298071671 183.408008949 183.621963612 183.680062527 183.739890812 183.881419515 184.117757324
2 | 0.903059694496 1.25177901977 1.94700816227 2.92921653764 2.94511035423 3.63765774192 3.91711834067 4.11378649603 4.79998985485 5.01034196519 5.36768875411 6.28703125568 7.32833380214 9.6327130714 18.5995362483 20.4966692092 22.3007183094 22.6412702363 30.6888133896 30.935136911 33.0595505638 51.8927556166 52.2581704334 52.2932331852 54.1340085112 55.0480096008 55.7331512569 62.6806721433 62.7965209 64.0703688564 64.6857519746 75.4967215065 76.4208137799 76.5887816274 77.4472643141 77.6579958657 77.7178395427 77.9887084924 78.1346810042 79.0724104228 79.3400554815 79.4457234617 80.0679429733 80.1075210217 80.1149316257 80.1784030874 80.3487797577 80.8375687831 81.1228243343 82.7756446662 83.0880363931 83.1810347899 83.2194027387 84.4497323659 86.0485406301 86.1258022332 86.2321764844 87.3433621516 87.6772697334 87.7052421282 87.7091133917 88.4255462523 88.7522308194 89.392556334 89.4756751318 89.5904333209 89.6598006392 89.6818925229 89.851892354 89.9133598917 89.9393207678 90.7631557472 90.9414832264 91.0718014536 91.2035866651 91.2711893078 91.9132987729 92.3406186941 92.7595603008 92.7655716835 94.7414059836 94.9194623354 95.1681372694 118.57754673 124.2611173 128.164167043 137.052856412 146.597147114 147.605419062 155.306996642 156.703579133 156.792064376 157.63330084 158.40771502 159.224033264 160.398500232 160.811260985 163.422421076 167.467988414 179.22699791 179.799457303 180.270774655 180.552514425 181.231477436 181.543617815 181.544777706 181.702090887 181.852567894 182.099768675 182.702179748 183.468761689 185.466244245 198.772724553 199.075255085 200.586047774 201.658657217 203.115470971 204.292043643 222.724891373 226.06154161 226.129102698 226.131365184 227.594954474 227.806352269 228.07754028 228.126981354 229.203418333 229.660926917 229.726093292 230.250042967 230.432135471 231.441777628 231.450995052 233.453453924 242.863911821 243.156534601 243.712560001 244.442587553 244.629501786 245.64198852 245.656640843 247.71103544 261.983749591 263.407962666 263.786839606 263.984313199 269.371787066 269.401726201 269.566189321 269.672186054 269.836388105 270.446288039 271.78207571 271.885365604 272.125939054 272.276658853
3 | 0.0182807870769 0.273735270465 0.649932153862 0.974648591933 1.71636302414 1.94681536735 4.21649115275 5.03657445107 5.74235413855 5.90465270483 6.39280163283 6.46946104682 6.50412738125 6.5387180982 6.66530755392 6.66953838932 6.72953177563 6.80787194686 7.02237764234 7.12127872618 7.14468693553 7.20322738608 7.23193489953 7.29292119387 7.3090746125 7.33898404088 7.49587106658 7.61312699555 7.62438782385 7.65854636622 7.77890551164 7.87185666878 8.332584191 8.54826177677 8.58135340523 8.6452370365 8.65852752818 8.77107861468 8.8381016719 8.86737851032 8.8839696212 9.00962635307 9.09927702462 9.16453327434 9.20471127615 9.30021036285 9.35641424501 9.38120226451 9.54133258176 9.54512829691 9.54541938319 9.66760017043 9.73562360462 9.87084094221 9.91971011061 9.97131627863 10.0787879707 10.0882626066 10.1908405199 10.3056921316 10.4084939633 10.4613702727 10.5658008629 10.5761339519 10.7027998036 10.7668393677 11.0790777032 11.1194202255 11.1861570939 11.3734002954 11.5294543929 11.5360482119 11.7228424537 11.99904298 12.56019615 12.6266137791 12.8219438246 12.882761378 12.9033675131 12.9743000585 13.0281474522 13.1754662065 13.2346651669 13.4415539078 13.5656422118 13.6584354777 13.8446752686 14.1515092759 14.2683667167 14.2840665708 14.3177271262 14.7779620041 15.1934933912 15.2331762499 15.29951156 15.6621629461 15.6921146885 16.9436753011 20.0966012683 24.8142501171 28.4436438215 31.8878060924 32.3395346023 36.4981942775 38.2259968819 38.3540014644 38.5940675092 38.6228133528 38.8937394774 39.0131715257 39.0151282941 39.1200956167 39.379024323 39.6009184534 39.8831714046 39.9691442855 40.0014528496 40.1267242956 40.2881685395 40.3290899284 40.4378726127 40.5870616809 41.7078226018 41.7696768724 44.0567336779 44.3511666077 53.6268677825 53.764910722 53.8813520369 53.9172651175 55.1218863539 57.0550547291 58.4448506024 58.6746422071 59.0147368749 67.3660835236 69.7879098004 72.6126312275 72.9404924466 73.9850730868 74.3463651342 74.5220244684 74.9509645444 75.0958395634 75.1645492596 75.5682858904 76.0275387611 76.1620497529 76.1687940722 76.2187334757 76.378731939 76.4371145483 76.4517601936 76.5165276308 76.5536640683 76.5683609861
4 | 0.00439912806178 0.26944748635 0.324754341154 0.441355314139 0.686891522806 0.709318836265 1.27455593948 2.72092781144 3.35173492459 3.387435204 4.32975511345 5.26641150237 5.68344504522 9.60809587482 10.7294040955 10.9448317273 11.3282591405 11.7190678991 40.1267982903 45.3403490271 52.3539516719 55.8213935284 56.8956330808 58.7712531403 60.8353225411 60.8923451918 60.9028484668 61.2798425744 61.609085166 61.8073906783 61.865815996 63.2150529244 63.601971342 66.3637850405 66.5288060626 67.8729732383 70.3412306291 74.787078259 75.2834484218 75.859289337 78.4127146662 80.0442631761 80.7661478908 80.8344975349 81.0658997067 81.5761139576 81.6009912262 81.6720366968 81.7791582626 82.385627892 82.6329309793 82.64016926 82.8796328821 82.8934487347 83.1978053729 83.5246769054 83.5871463312 84.1752939364 84.4620253076 84.5269550574 84.8134717015 89.3322839595 90.4393115118 90.4807695492 91.3339588992 91.4362279635 91.5979898252 91.7769044771 93.5053771903 93.9171281959 94.6996523334 95.4610287454 96.770827638 100.13968181 100.605511503 100.864028642 103.91201848 131.274398385 134.094102404 138.743179223 138.935516848 139.55893031 144.817244202 144.94383876 149.58061754 151.127162401 152.872759439 152.891422712 153.21143309 153.569821173 153.826670738 153.838879614 154.243560578 154.490015619 159.743121266 159.928649693 160.211886926 162.266033879 162.908094682 163.108842584 164.18195557 164.657279448 164.920007733 165.230959776 165.448601164 166.289336761 167.40880938 175.580028005 180.507652667 180.810780554 180.947219502 181.667805347 182.333729829 184.612931492 185.346147517 185.459992857 185.751076729 186.101028555 186.4225684 188.080134133 188.457866153 189.386176508 190.152697568 192.719619071 194.273477594 194.41173482 194.614667932 196.523549998 197.072137559 197.254751352 197.856718148 199.258166029 199.437632915 199.473097499 200.481181153 201.248237461 201.60331549 201.739928577 203.5781875 203.729479332 207.114166386 207.186927672 207.721449859 208.058772868 208.292484148 208.837168708 209.234520785 212.887437085 213.999023553 214.101978568 214.42936412 214.872130085 216.73804371 217.099658529 219.502751664 219.68390134
5 | 0.649191328877 1.70784210887 5.60567593979 7.93380206867 8.20726568885 8.27365346868 8.74899377501 9.14362262626 9.71610876639 9.82264704399 9.92568889881 10.4220681531 16.1053097283 22.3178904015 22.8540711759 25.5425146786 25.716287489 26.3565708599 28.2177010501 31.9038310241 33.1005551923 34.4735780494 34.9874233262 36.5780986526 36.7988170765 38.1157322617 38.2843313365 38.3998314885 38.652512064 39.040457759 39.3135671813 39.4584055752 39.6335145534 39.9041767681 39.9559635973 40.7506276398 41.5586752411 43.1624812561 44.1486668968 45.0021065447 47.8680649055 50.6483722858 50.9430099195 56.2931162119 61.636306213 61.7154570692 63.397835605 63.449807173 63.7048831352 77.7138253814 77.9478368611 85.7369391211 93.0396779867 97.9495300676 98.9204591335 99.7685136434 100.198094723 103.068991291 103.079037962 104.19464788 110.548980173 113.502357372 125.035256954 126.8603519 127.635581444 127.990140723 128.898410833 128.951194796 129.078790095 129.967365311 130.00601248 130.076805432 130.798024926 130.92743325 131.139987277 131.560347136 132.368193063 133.747823387 134.902314297 135.500910645 136.338621896 136.573609301 136.676353553 137.49033548 138.236000412 138.277500947 138.540629979 139.879141631 139.956107662 140.324786491 140.333251794 140.417639719 140.443080253 140.624825324 140.696603084 140.865808076 141.20747293 141.409331563 141.507166638 141.697797163 141.805477171 142.036999875 142.184549145 142.284467877 142.470656687 143.020172186 143.28281094 143.305537624 143.326928407 143.484001765 143.507697859 143.53736502 143.87004491 144.02069657 144.073681596 144.61264059 144.764943437 145.096365862 145.103812836 146.344478501 146.492716516 147.078616162 147.114058481 148.31799063 149.347402452 149.550742599 149.996431807 150.306672581 150.812765085 151.164408226 151.592791316 152.41356538 152.464922059 152.667361696 152.799627497 152.873699331 153.53759953 153.720819085 154.292760522 154.814493262 154.816980741 155.345825873 155.360288661 155.431323753 156.267157248 156.332429746 156.593647028 156.701329102 156.701774484 156.766076047 156.786213289 156.867061683 156.986935744 157.421839912 158.226966184 158.435332781
6 | 0.19237101318 0.369500482031 1.51229307219 2.86517414745 2.98771977216 3.07301632337 3.09736523086 3.16786221564 3.41275195831 3.94887893325 4.32253317649 4.37984124687 5.75704428512 35.3220987063 35.3466155698 47.588289396 48.0330354151 48.4352491153 48.5655407914 48.8346449759 48.8962836452 49.4321405862 49.9304131075 50.2991431909 50.957444026 50.9718694365 51.7265421651 52.0339189663 53.0966899318 53.3403922591 53.5494245022 54.6357424022 55.0343802621 55.0584520622 55.1791262354 55.4958995651 55.6214147492 55.9412933376 56.4331812504 56.5758400729 56.6007163471 56.6415637384 56.9717722468 57.2197047488 57.52630928 57.5374027486 57.7654101968 57.9058077959 57.9471090371 59.1404262708 59.5097956651 60.3655364381 60.917925195 63.5255750144 63.8657313467 72.1840217025 72.5069268508 78.3169556525 78.596977963 80.9711856056 81.3902866432 82.4240164427 82.4570608468 82.5165405625 83.5262654899 84.1445472224 84.1827577936 84.6937505912 85.2406919596 85.3624008659 85.8189137047 86.2785519055 86.6512192683 87.1517651434 87.856487911 87.9823089232 89.1719966114 92.6394576389 92.8078672119 94.476356206 95.7751943333 96.48690476 104.549805339 104.92862435 104.930841388 105.475513233 105.602057646 112.757418637 115.645501416 125.088100984 133.822415999 133.919273541 137.760053044 141.333459733 141.517239523 141.881035762 142.650718629 142.75403017 147.267012257 149.281793286 149.575524433 149.841060779 150.590138898 150.674254148 159.557652038 168.417194072 168.53118826 171.767241172 171.852481157 177.659313456 178.194114567 179.640190746 179.770577433 180.072606339 181.609913168 183.72924363 189.621456397 190.440677744 191.41086536 192.384087896 192.873407403 192.921143231 192.943004071 193.874824858 194.766245649 195.115636061 196.378654394 197.388342453 197.55246125 198.206200058 198.219472803 198.226044158 198.457885683 198.596975318 198.757829758 199.19214372 200.0440864 200.102924116 202.814935471 203.227043966 210.26736109 211.409766806 213.013191922 213.038706604 213.673620672 215.081144445 215.661974152 215.844157023 216.079584131 218.189673579 219.335030165 219.439129815 219.697842072 219.972283496 220.876906388 221.315018224
7 | 0.0409293624307 0.168900083791 1.69661531634 1.72806025771 1.80570172235 1.82584281304 1.86836792955 2.09993840607 2.22055156593 2.39132045984 2.41787445532 2.44062870214 2.44076972637 2.51248757181 2.70802492252 3.01697434923 3.11625720327 3.17889746085 3.53674750931 3.55346626803 3.60234360671 3.88017300361 3.94524678098 3.98662027153 4.11243307475 4.15283693844 4.29184374631 4.58149119751 4.98893570455 5.27589285792 5.40579563128 6.77771418063 6.86266881771 7.29993179552 9.78771636802 11.862768117 15.7056118434 15.730474024 15.9037252379 16.0412082154 16.0992257069 16.6272632847 18.238873806 27.0975987381 37.1015353437 43.6518905428 44.0856916512 44.2620082796 44.9263147352 45.1356856246 45.1806826867 45.2378262368 45.2702817478 45.4522063333 45.7251625923 45.9977699627 46.2656969929 46.4298970911 46.7540634601 48.0463966476 49.1615188657 49.2436357967 49.6176182497 50.1389659857 53.0672785802 54.5755470924 55.3216831496 55.5956975562 55.9865542054 56.0713153598 57.1772596117 57.7345393536 58.0958824971 58.2218699118 60.2503092231 60.5745348298 61.326359645 61.9761922772 62.5540411702 69.8040706917 70.2426455168 70.5083479346 70.6068257482 70.9623507787 71.0143138878 71.7373698317 72.0697473496 86.4110138575 87.0222606871 88.8383691823 90.5422294083 91.5476330854 91.5565188719 91.7938261073 104.017831045 104.149881785 104.753621149 105.472825753 105.990266938 106.534390308 115.621548778 118.009725325 125.419644127 125.437869478 125.74958519 125.913144894 126.290484772 126.809852166 128.100279046 140.264577818 142.259628513 148.411507276 148.737806631 149.832542363 150.308340199 150.354139042 150.403854138 151.854193721 152.145368974 152.233189441 152.41499492 152.586273643 152.819038023 153.259962495 153.80368164 153.906905113 154.53585738 154.889156337 154.920758263 156.341869147 159.318105577 163.632609646 164.261094044 174.051165086 174.596145468 174.665128106 175.246464326 179.090263038 183.662423129 188.455331215 190.366789155 190.39497458 190.520509083 190.950346028 191.123474739 191.127076198 191.507321093 191.513180856 191.812721464 191.878648969 192.783440514 192.847105048 193.236335224 194.742338768 195.049280836 195.164986352
8 | 0.0600482430909 0.11940143114 0.382920675111 0.48393528111 0.49037482727 0.900375411971 1.40330838865 1.54795469833 1.75854855668 2.0958876437 2.48188628907 2.63218731319 2.73206436268 2.74881411499 3.28490158021 3.30031173255 3.3650858778 3.53097577171 3.72553896679 4.23068750679 4.44274651691 4.60665396253 4.72525129148 4.90790184924 4.92210877013 4.9313378498 4.94278921353 5.03029034785 5.04501402445 5.56716916545 5.59851744886 5.61524191286 5.69254154521 6.0461244258 6.1226092499 6.45209699016 6.60955993531 6.74293810258 7.16233384345 8.08733152723 9.36493358652 9.46025232657 9.80089889728 9.93397302901 10.163805185 10.4111693088 19.3485227268 28.4576678637 28.6913943585 29.0667400855 29.9444046526 30.6518509364 32.5320437905 33.2638361518 33.646114375 36.2334720458 38.3341095108 39.154348947 39.8544152405 41.3017755164 41.3342648918 41.6532170643 42.5316843736 42.5613326719 42.6632028833 42.9604152168 42.9888459073 43.185757579 43.4505966234 43.5939486544 43.8287452517 43.8704869306 43.9148581452 44.3066794884 44.6348234403 44.7579826935 44.814049816 44.8297912456 44.8566408561 45.0288373137 45.0546426447 45.2922110284 45.5970730272 45.7354146774 46.11327596 46.1650914205 46.3560339114 46.3759029619 46.3946209295 46.4901469181 46.6123654893 46.6261330835 46.7452735464 46.7720875549 46.8126143843 46.9813945089 47.0225643372 47.1423851867 47.5467966146 47.7301916258 47.9843629191 48.0745708246 48.1712549035 48.3728974077 48.5803060809 48.6691698187 48.9676421082 49.1048748587 49.1292020733 49.2059135753 49.4275386066 49.7419584452 49.9824166716 50.3546612077 50.4119960091 50.5718198326 50.6061184987 50.7041551432 51.0024061759 51.0527725293 51.229581421 51.2424712764 51.3078249813 51.64355954 51.7107771394 52.0161152393 52.6277954587 52.6454217803 52.7922843819 52.9009738672 52.9685759006 53.2268633018 53.269229678 53.3650941087 53.4235474315 53.4675592094 53.5912025319 53.6505393085 53.6719502567 53.880111637 53.9142131016 53.9269415446 54.0780769778 54.9941731927 55.2279710464 55.251838855 55.3921806909 55.4184368687 55.4515227148 55.5014008094 55.7579737083 55.9554761151 55.9674890051 56.0432283162 56.0461561006 56.4982105283
9 | 0.0403535425085 0.327729357039 0.42369042839 1.21365737183 1.21423048219 1.54434419812 1.84658765021 2.00175909316 2.20342515759 2.83096294969 2.84812478919 3.02490823033 3.06710392125 3.085526314 3.21375388723 3.31375801781 3.34560196987 3.42019488031 3.75768781121 3.77833969369 3.85384823894 4.10962100777 4.13265692393 4.13491922683 4.15056960164 4.1586172602 4.21613172168 4.27011288431 4.27639529519 4.29514113311 4.32824483708 4.37904755316 4.6118563352 4.71035823754 4.87116646452 4.95157972931 5.06171721536 5.09023075328 5.11732899547 5.13234071716 5.18740309627 5.18901427486 5.19806190716 5.28672791085 5.30750214091 5.33769017096 5.35941116295 5.36929704981 5.38956094493 5.42644498548 5.43437618805 5.49505751571 5.55566894796 5.63864309083 5.66382254969 5.72698613786 5.77173766098 5.80513016379 5.85205680687 5.888875115 5.91851280765 6.01591713167 6.03514045938 6.07476382157 6.40263073384 6.52952100753 6.59748601956 6.63634821798 6.68161164305 6.73061417503 6.89820817568 6.96872470382 7.0902628899 7.13731087446 7.2044445757 7.27993150981 7.51504099862 7.54232690033 7.56196905688 7.70165143578 7.74864552612 7.74865025996 7.75447771652 8.03745540022 8.3698941323 9.03027395014 9.12327541688 9.16742426547 9.24972249796 9.30916087797 9.51732507491 9.77267405298 10.6123655177 10.6679231971 10.7902165178 11.8119852215 12.6011437591 12.9588427085 19.9983711067 20.1399841701 20.3045870443 20.3479880185 20.6906340861 21.7384156857 22.3016950362 24.0742631061 35.8257152121 50.8662329958 53.3560135686 55.2183734243 55.2430636434 55.4585061255 74.5839147399 75.3862985891 76.1207301686 77.1144500889 77.5923100227 78.1215304971 78.2530582535 78.5012824244 78.6377797902 80.0798740842 81.500135937 88.1413745192 88.1899666292 88.7004315871 88.7365865765 88.8463823712 88.8533152877 89.1523379144 89.2926448793 89.3183330842 89.3555708579 89.4475362828 90.374780272 90.7286068728 91.9675993662 96.949183755 110.218917575 110.245347879 110.654162062 111.121077408 111.646030265 111.75373469 114.806908101 115.802419879 116.286942224 116.444428286 116.497839085 117.086390371 117.216036573 118.023126379 118.152349388 118.480041909 118.480720112 118.988197136
10 | 0.479778272718 0.503216987328 2.83888736496 15.7911899066 22.238955064 22.9648151012 24.7811489457 25.0786827986 25.2258465328 25.3323536945 25.3559808068 25.4168795936 25.5837083063 25.7058994112 25.8059712275 26.2133507223 27.0326905092 27.4513516725 27.6647937335 27.7159939169 27.8878242107 28.0116668489 28.1960382945 28.1990406594 30.4729964129 30.670377903 30.6740928152 33.7901237582 34.0852904276 34.9170080376 34.9245800728 35.1336528837 35.1668815793 35.1715646373 35.1876331176 35.2423266649 35.3282900446 35.5150590728 35.8695540163 36.0707909219 36.1035929843 36.3153548707 36.5488791251 37.13127538 37.2461966378 37.3408318144 37.4636750185 37.8139727969 37.9868436969 38.051549664 38.1006170103 38.1659145511 38.6559278948 38.669255351 38.7245090046 38.7524101525 38.803445445 38.8354551284 38.8655850294 38.9032603446 38.9777887183 39.0143589229 39.6286224965 39.7180052487 39.9644833003 39.9851370896 40.0682925039 40.3715463498 40.423920971 40.436863639 40.6455017269 40.6688199263 40.791811594 40.860259545 40.9282860009 41.1077466406 41.1673096366 41.1970627624 41.2248532068 41.5031433854 42.3743761652 43.3395560451 43.3951894299 43.4018793679 43.7296840466 44.0589962906 44.2055587513 44.4266398715 44.484201626 44.7831173841 58.9445812217 61.0844684558 61.5558039353 61.6983183381 67.3002393019 67.6314169312 67.9480343382 68.7523498685 68.8009799378 70.6713014669 71.0753921603 71.0963490981 71.2387048228 72.0794299283 73.0265817371 73.2995255159 73.6622841269 97.7341551926 98.5386398696 99.1748339185 102.567176629 103.984881234 104.573537996 104.590810074 104.948212701 105.654406858 107.974463038 108.333227233 108.657207252 108.736835111 109.911707071 110.647037562 111.252477256 112.965014092 124.06236903 128.12012801 128.991926943 129.140705959 129.578394615 129.863775487 130.592960597 130.938517438 130.939210411 130.948147128 130.96077488 131.243047215 131.359589047 131.465785399 131.493070394 131.553693217 131.661059525 131.806723664 132.474377731 132.640523792 133.759768438 134.365717466 135.243616843 137.351929771 137.431600512 138.077008107 138.617072751 138.729868546 138.804791836 139.646156129 140.934528397 141.084876117
11 | 0.0792137092303 0.25766172041 0.34248502115 0.368050896501 0.794319510571 0.86678789647 1.21413992869 1.47357975361 1.494090058 2.5780864345 3.30008112443 3.39215694918 3.48038920143 3.61549026476 3.7218412517 4.00030529203 4.1989575296 4.97391225447 5.30040067443 5.8933259115 8.67786544749 8.83856232817 9.35188994241 9.41439525523 9.59019037936 9.92636292584 10.318181435 10.5837979496 21.8650647863 22.3478891321 22.7652389248 22.9962921304 23.6337532385 26.8361881008 27.923980843 35.1620343504 35.3119191841 35.5891181667 39.8882902847 43.4991728218 46.5868021102 46.8968846223 50.8004223354 52.2508263273 57.3587833728 60.9192124022 61.3219042588 61.5222271479 62.200693791 62.5790895858 63.8070951124 68.2035709004 68.7329413561 69.4055950977 72.5886786215 77.7957581571 77.8165176587 78.527075276 79.1004285713 79.3412054626 79.6364213257 80.028911897 80.1329943342 80.1611649454 81.1569009922 81.9314383238 82.7030223299 82.9897938838 83.0614105625 83.2758854054 83.7001707033 84.2741792666 84.6505918856 86.6653536298 87.4277257172 88.6286197944 89.1161062476 89.6050467143 89.8010117841 90.5274118805 94.9306469042 95.0129424036 97.5684367133 100.778397281 101.633231996 101.999863461 102.734302559 102.842778247 102.977677695 103.29581507 103.475077782 103.52272905 103.875295613 104.178845988 104.277874125 105.338758521 105.689248844 107.270777704 107.427326251 107.723395343 107.76640417 107.854605127 110.341860573 110.534847051 111.268661988 111.280286914 111.427091459 111.550106148 112.022651615 112.1283093 112.705319055 112.744754883 112.834339526 113.105657442 113.112719145 114.333459079 114.351525218 114.641110536 115.095304366 115.188748072 115.696131359 115.800410381 115.805319732 116.081498733 116.169594707 116.456791236 116.516488788 116.530669404 116.613671566 116.630563203 116.939289293 117.148805104 117.340880973 117.362631964 117.429149187 117.547456488 117.871969976 118.056707758 118.611613375 118.909260057 119.8446644 119.8738935 119.929358755 120.318951255 120.845199684 120.927421494 121.267031477 121.500033323 121.653272382 122.211712543 122.47440034 122.701477023 122.713526424 123.050843593 123.194737716 123.678588494
12 | 0.810156906387 2.54758467932 3.14027702688 4.82371426612 5.04236934331 5.82843146186 5.95513629095 6.38778307165 6.49846982211 7.70295334344 8.18296105214 25.8102160716 26.7082591378 27.6981486802 45.2977682164 45.454901713 47.0698795164 47.3478547565 47.6604112318 48.4942505915 48.5238155148 48.587345004 48.9455206072 49.9045834438 49.9064326814 50.2641246379 50.3364497577 50.455056027 50.6383174589 50.6705201716 50.7828788455 51.0678767643 51.0876242755 51.0944125924 51.119735028 51.7227857191 52.1913444669 52.2310700903 52.4003936637 52.8131658813 53.8658736488 53.9640184866 54.0433276295 54.2665827957 54.7476095935 54.9994859024 55.1621743966 55.2845496247 55.4105685917 55.518371308 55.8547836708 56.016201523 56.2943421329 56.356613158 56.8951832983 57.6009639018 57.8923886912 57.8970636986 57.9606864094 58.2639936436 58.3898484372 58.6897808556 58.7008103686 58.8673347373 59.2234402321 59.2931416232 59.5609309546 60.1746777029 60.7495368653 60.7511202604 60.8374703356 60.9057662774 61.0365943232 61.1919019164 61.4527038318 61.5169479154 61.5446413984 61.7403469214 61.8657925831 62.1011105448 62.1035986528 62.1757340414 62.1889146594 62.1917824739 62.3565009297 62.4692697854 62.516958381 62.5329914578 62.6327024026 62.6446928508 62.6812040104 63.3773164811 63.3903508239 63.5624314982 63.5698584865 63.5986575259 63.7026253813 63.7916159174 63.8721135473 63.9665422022 64.1368588022 64.1842786655 64.4461934389 64.7062576042 64.8506398556 65.0547541729 65.0630268205 65.0739568894 65.3487649411 66.3444321176 66.9945466209 67.2625579252 69.5183508139 71.5963352942 76.377431081 81.8321054761 81.8799725373 82.0085456623 82.3936674631 82.8505154324 83.0966056698 83.2960411133 84.9538605189 85.4643768272 85.4691410972 95.3420388234 95.4127816819 95.9225229771 96.840309739 96.8638424111 97.3349026484 97.5039654499 99.4625997947 100.280196033 100.513406353 101.316570246 101.384177768 101.520449196 101.683810557 102.38629717 104.433264219 104.513031407 107.543740882 110.901459904 111.617250149 112.864121411 112.984756581 113.16431059 113.422086077 114.237642562 114.565321029 114.796025533 116.303691052 116.684523503 117.048819531 118.360469829
13 | 0.533843795889 1.81877638379 4.40160269349 4.44376878706 8.91225087161 10.992765682 11.2684287706 13.0708733067 13.5329372197 23.1410895844 23.9194358266 24.2351942513 26.6212957059 30.3148921972 30.4403380929 34.3613922674 34.5204340611 34.5561135913 35.0354203229 35.6931479671 35.956297074 36.7044920414 36.7724881937 37.0615782336 42.1428937019 43.1539367507 43.2939020316 44.3286485705 46.2004324061 46.2144899186 47.1119706137 47.6245218168 49.6493068779 50.2666814523 51.4074735992 51.888087494 57.6256048223 68.9700083238 69.6690218813 70.07351156 70.5603463499 78.7208361988 84.6655060406 84.7799649649 85.5549715216 85.7552951487 86.0151848193 86.0423787742 86.0954796168 86.1009584546 86.3318009371 86.9302954145 87.0809637573 87.6976222964 87.8883220734 87.9249519847 88.2509461657 88.4324062823 89.1894707177 89.4366543476 89.5581895116 90.4230355708 90.5326884803 90.6179817854 90.8448874151 91.5364494521 91.6690716037 92.0470088195 92.0551605021 92.4583207633 92.8117438569 92.8897173685 92.892486943 93.0307412235 93.3356848604 97.6193729233 98.3110865143 101.2672666 101.798504039 101.896318367 102.235277132 102.586504668 102.605101946 102.877098619 102.916675558 103.082011737 103.082240748 103.195507231 103.887854687 104.463622286 104.877348291 105.129440554 105.164108364 105.727727038 106.242476353 107.525653011 107.987354557 108.386312021 108.466025791 108.587944885 108.850014096 108.871264811 109.18265877 110.106383116 110.619895174 111.780756319 111.917398209 112.222391158 112.337867315 116.959677846 117.451996684 118.376649245 118.99555607 119.020755139 120.525239066 127.922228242 130.916448932 131.440846151 131.506713818 132.322478448 132.796650463 132.983553072 133.499369941 133.500464014 133.56399889 133.766495339 133.870822684 135.265063352 135.379154976 135.999406239 136.279739822 136.452741649 136.507520067 136.573553545 136.689599148 137.04385888 137.629113703 137.746783004 138.663125737 138.967264164 139.045226189 139.06426269 139.151498173 139.275015017 139.283379657 139.528738081 139.803990552 139.953790967 139.994534874 140.577812415 141.41836843 141.54470046 141.882313974 143.181029637 143.419318509 144.566395748
14 | 0.251066051998 0.458281466719 0.837409896631 1.76311609929 2.57365901383 3.05083867975 3.95105291745 12.122801857 12.4727607914 14.2753382512 14.4063891971 14.8391031013 15.048931302 15.2046307732 16.7217098446 16.8252044254 17.4972309035 17.5086854166 17.5599005578 17.9496428206 18.3613016092 18.5749710958 20.7607654815 21.3351036158 22.432722508 22.8538978963 22.8627104756 22.9045167243 23.3005145357 23.3213708665 23.4888977196 23.7361039811 23.9955628703 24.0204757593 24.5570065682 24.6850992138 24.7445680409 27.3259061895 27.9261647072 28.2461743357 28.7828438008 31.4178672825 32.7647225084 33.2356695558 41.2477895069 43.9748518663 44.8833483994 45.4203826756 50.0793993096 50.6813472904 53.2896849897 55.230728706 55.6974278294 55.9625934653 56.0867987638 56.3537558592 56.9645010332 57.3812357687 58.6194177552 58.8154112574 59.19846691 67.5878477196 68.0272535931 69.0072080872 69.0346858424 69.0506699149 69.1420981921 69.2860923657 69.6708373348 70.62535741 71.9775234225 72.2684307542 72.596502833 73.1534995827 73.176278297 73.3295668813 73.4114502372 74.3624670572 74.4031568393 74.4703048885 74.677426327 75.2411684596 75.513062868 75.5990922179 75.9158977139 75.94604439 75.9633869025 76.2234267791 76.5107894254 76.7626177382 76.911256055 76.923960226 77.220599103 77.5605606299 78.9583266152 79.6915292253 80.2519311815 80.4931881676 80.8752369435 81.9709478936 82.2306013031 82.2346748701 82.7565001183 82.8972850924 82.9008293819 83.0184890614 83.0517313209 83.0672385965 83.0824849751 83.1239936324 83.3686399599 83.4535486334 83.483955537 83.6973369987 83.8836514474 84.6284402554 85.0456728204 85.5020464566 85.5422502945 85.8969607724 86.145068028 86.6321881794 86.7776918833 86.8803288497 87.0557000352 87.231318425 87.4781467938 87.5246500833 87.8498488111 87.9480652947 88.0047047197 88.1651279508 88.2617435946 88.4921263918 88.7803472509 89.266444369 89.9432225388 92.4187884234 93.0121984416 101.823559684 102.987358423 103.541150486 103.982139062 104.825163428 106.271547917 108.17468887 108.307720642 109.436921734 109.526300375 112.132901188 117.329500072 118.126759885 120.292801214 120.640461928 121.862512457 121.960498308
15 | 0.023111271581 0.780708583399 4.92599765639 10.1153252512 13.0732943045 14.5785883598 14.6647270641 14.8673117059 15.6211125711 15.6471005015 20.9514675907 21.1938125727 21.4542199523 21.5001706581 22.1911276789 22.6175794384 23.1891996761 24.4614010969 40.8251881187 44.805339531 48.082694735 48.2268984574 48.2426850653 48.729261434 48.8020421721 49.0548137904 49.0847285854 49.2053718573 49.4802653572 49.8172581829 49.9543220086 50.8459026883 51.9457187997 51.9815524376 52.2688587723 53.0464439045 54.0579111781 54.8121748052 54.8150542383 54.9347835593 55.2084829193 55.441418606 55.6243672246 56.5253226048 57.3157876594 57.4812532727 57.9262023366 58.00206613 58.2596429506 59.1435310768 59.1673727977 59.5283396599 60.6388679093 61.0725876649 61.2722276409 62.5883135794 62.6424080024 63.1791442706 64.023283181 64.2204021953 64.2716853886 64.6601150535 64.9352094297 65.0796114506 65.4251560348 65.6853586729 65.7014610019 66.3706731749 67.4524267588 68.8700694548 70.1583503558 70.537370659 78.4557024235 79.0032888377 79.5790800338 80.7903361752 82.3284807358 87.2152347324 87.7936849699 89.1571827901 89.2238370642 89.2692120852 89.4453191998 89.5341140599 89.8245647821 89.8576882625 89.9296595479 90.6416953666 90.7569546629 91.1139842248 92.1979579413 92.2393066674 94.2171519076 94.2184152895 98.04895943 98.9948332358 105.024150627 105.051351898 105.707468899 106.651574982 106.931063738 107.137871384 107.196064236 107.279532656 107.411240648 107.692947138 108.263840058 108.274023614 108.386971411 108.390401873 108.445841333 108.485743826 108.614318776 108.616851751 108.684645161 108.786067477 108.93699601 109.075605748 109.116600009 109.167174386 112.131996912 112.265383571 112.332103941 112.332355435 112.479416316 112.5944072 112.79115756 112.797854134 112.969247156 113.089602495 113.136516097 113.268654236 113.290377974 113.602072136 113.885147926 113.987353528 114.416051388 114.473609662 115.035267726 115.429917587 116.8663321 116.930906957 116.971551488 117.185991214 117.293614411 117.575553585 117.893195356 118.063131654 118.518408181 118.623262596 118.775797657 118.811217088 118.860803814 120.961750134 124.584821968 127.21668721
16 | 0.66218457777 0.770598006162 0.796232773311 1.0208516208 1.40920599691 1.96978486568 1.98736028637 2.13591633887 2.1922629515 2.73987698403 3.08023596947 3.08572023453 4.47974610051 5.62675818945 5.98486475009 7.14180189144 14.9524219186 27.0425162257 35.7693663103 40.9471906625 41.9325033044 47.169852767 47.2217110227 47.2969966302 48.7866687369 57.0201728079 57.3086911785 64.1940469363 74.761305301 74.8667604069 74.9632393471 75.1655079305 76.3386863065 76.4499925755 76.5855979398 77.8453030539 78.6408949604 78.7597660563 79.1685060891 79.8588440616 80.1271554182 80.5383307038 81.0314042116 81.7731716924 83.1457172044 83.5927232971 85.0828610064 85.6715818351 86.1119961453 86.7896640537 91.8012829634 92.8271281171 97.5885281767 98.52193274 99.810578904 102.1768254 104.315387845 104.442201626 104.565079684 107.573960081 108.573788446 110.613616438 110.860684223 111.098925328 111.499203303 111.927134276 112.164197298 112.417170941 112.48047828 112.819667852 113.090562896 113.130869542 114.0501163 114.848905469 114.970533694 115.465942687 116.086885625 116.157019698 116.534744696 116.888440835 117.128950523 117.318359344 118.119586912 118.139365385 118.337810055 118.36214201 118.522520021 118.705529501 118.820512067 118.851192074 118.889332601 119.371983978 120.006257997 120.533379119 120.747097932 121.17759951 121.189406362 121.218540461 121.386596393 121.435623058 121.549687385 121.562579315 121.567481955 122.082226678 122.356810392 122.358966436 122.995928845 123.583405804 125.762427861 128.407673362 128.511465038 135.526168992 140.666011101 140.987386933 141.409358598 145.231988984 148.349165781 148.810320339 148.999681641 150.946464562 151.394749992 151.453285442 154.19498339 156.303908421 160.294969818 160.909841303 160.993763261 161.428239747 162.496783686 162.749666631 163.117432224 164.005428469 164.378224585 164.668841828 165.283289856 165.577645978 166.783510748 167.581747834 167.837452559 168.006241343 168.070636805 169.152726677 169.289199286 170.022008553 170.139060018 170.157217936 170.407809952 170.583001117 170.725135682 170.811017391 171.151659762 171.225954309 171.412175487 171.459358416 171.767175563 172.410952491
17 | 2.9753960539 3.03354403164 3.61957113806 4.01098863812 4.61250377072 5.15166217933 5.54017250222 5.78824468248 6.46562100368 7.30246847691 7.40357984643 7.46106941639 9.64407224913 24.6659270418 27.2127459037 29.1127876521 29.1775159141 29.5106050912 29.7217233225 29.8384850541 29.9630737493 30.8780773176 31.1387978287 31.4637401211 31.7712262312 32.2213979585 32.2236709176 34.0320401248 35.4244734864 42.1838934759 53.2668113265 53.2899116403 53.7765295868 53.967517147 54.1021219299 54.6775820451 57.0633612975 57.5243848943 57.6528676004 57.7391122739 58.4049788133 58.6308940833 58.6439842698 58.763511094 58.8820651442 59.1457740594 59.1542190637 59.9817128879 60.1946162367 60.354812289 60.598137069 60.6095297404 60.655458879 62.2945771912 62.9933174811 63.0695281745 63.5488687538 63.8984381376 64.0056438677 64.9332230538 70.9107247189 71.8951029271 72.27976092 73.2703755356 74.3511796348 74.6031513497 75.9040124849 76.0920607948 77.0480501639 77.9026488715 78.6430996559 79.7905185616 82.1635831557 82.2651937435 83.3988421166 83.5772459388 83.9077965023 84.8798268262 91.8749769787 93.7104040822 107.503064277 108.45284574 108.828759865 109.094740571 109.866020019 110.173394758 110.568666085 111.71066046 112.054778 112.948911005 112.993188619 113.1761923 113.558008734 113.567900594 113.965106376 114.187437412 114.289066451 114.717097514 115.228304265 115.510823758 115.950592502 115.956138521 116.11726932 118.144037804 118.66056112 119.362825263 119.886209039 120.072720728 120.625970103 121.000112056 127.721246629 130.081934839 134.100600465 139.978122223 140.422625756 144.449097944 144.460448953 144.586807119 149.392057325 150.388618424 151.021881629 151.336926243 151.378331558 151.588479075 151.928976993 153.79071869 154.421517727 160.018079456 162.001257046 165.030101586 171.196594637 171.205517861 171.679693024 172.272358031 172.589347496 173.940895734 174.152649639 174.300179295 174.369737981 175.049346474 175.164532267 175.378738549 175.783131909 175.820590922 176.461550648 176.496255614 176.626796792 176.629497437 176.718557917 177.584763897 177.675123428 177.892262992 177.97193828 178.131890878 178.138872631 178.344378886
18 | 0.22314475547 0.253334438821 0.260094626628 1.01823033283 1.12041312531 1.29411679089 1.48461483047 1.52403933689 1.80701852201 1.85780174901 2.28833746648 2.31758935479 2.33115157961 2.36613897765 2.37556194609 2.38253828703 2.41928217168 2.47142110652 2.62225372287 2.7549209097 2.81859075707 2.90608631444 3.27996372347 4.68486425326 4.77577211355 5.23564146043 5.72373122049 6.84565539325 15.154217518 16.4654618211 17.8825497301 23.0963547932 27.1415940647 28.0072191312 28.6182186905 30.9748484716 31.0420858298 31.2706985786 31.5111957416 31.5252550695 32.27230176 32.7938740717 32.8775337597 33.0101338242 33.0525861937 33.3977027925 33.4215017417 33.5069364462 33.5564778945 33.8323538093 33.9093747587 33.9126667056 34.4264584805 34.6353008586 34.7504912534 34.7757576297 34.9340391997 35.1541254971 35.2229882638 35.9107556237 36.4513650105 38.0631491473 41.6130524083 44.3434621141 44.9295058861 45.2903690455 45.6567235987 46.7909722833 47.0876778827 47.8753959359 48.0822967631 49.5653296234 50.2857267233 50.8954814683 53.408467329 54.5351250745 57.0973438271 60.7291911687 69.9489229254 71.8217492338 72.8720648843 73.269540792 73.3525693423 74.7452168416 75.7289182452 76.3924137142 76.6859258652 77.4340966072 77.6882852856 77.939914318 77.9760189059 78.1083051831 78.7376062709 78.9087424638 80.53471412 81.1613122129 81.2071274387 81.6684988656 81.8128282935 82.0763960678 82.5185655181 82.6696435161 82.6905518583 83.1374262174 83.3828517566 83.532828793 83.7097659926 83.8304088248 83.895324236 84.0511325616 84.3245343167 84.9601464052 84.9697841763 85.4046285316 85.6136622025 86.4126319853 86.4422982553 86.4587627435 86.593601329 86.7337325717 87.2286692002 87.2497744013 87.7630264993 89.3276556977 91.9903819161 92.8183708692 108.231256651 108.421743346 108.529280424 110.259296046 112.157790146 113.568667901 113.865816777 122.914055413 124.632161282 139.853473732 151.268659575 152.033706169 153.090171194 155.072879825 156.147199357 159.117284325 159.135289093 160.525267107 164.384977502 170.466323561 170.71605311 173.857578811 174.407990956 174.729811706 175.403530298 177.092467758 177.15220228 177.419107097 177.841245464 178.085631102
19 | 0.317807822499 0.390362046819 0.509852317449 0.573393373241 0.622163617518 0.68091143759 0.733353530301 0.785053869979 1.23722370601 1.24924237876 1.33177623065 1.63961860494 1.64969401524 2.11638784692 2.17511546973 2.20427612935 2.23605936692 2.33507507882 2.38614406071 2.43029966778 2.69583951254 2.73981298414 3.40705621748 3.62145616959 3.73299571928 3.82449979541 4.04935532236 4.08652023769 4.72034806899 4.86367836675 5.31496126059 5.63304715067 6.83855378145 9.92654779531 10.166323225 15.8409141452 16.5125961446 16.7490090175 16.9072721203 17.2544557831 17.351437998 17.9772416257 18.0642581368 18.1481875757 18.1830959702 19.0188054391 19.8372660382 24.6738735474 32.2913875484 37.4141289246 41.3065243583 41.3926539006 51.924719077 51.9540535385 52.5333412853 52.9811317054 61.1820131282 63.187581337 63.7055038696 64.10322399 64.6472686412 65.0245423521 65.2049752814 65.8155540482 65.9054279212 66.7905693096 66.9502922267 67.3215322066 67.6461813227 67.7976409586 67.9477321928 68.1110045535 68.3457782114 68.461708097 68.5426743384 68.6100355695 68.6606372216 68.7278740667 68.809255287 68.8367144983 69.3618797945 70.0554249088 71.1600069208 71.3030838777 71.3731357185 71.4550798596 75.0365121531 75.4679697045 75.5573079607 75.9652036596 76.0675603644 76.2502169295 76.3405679322 76.5641377722 76.6411541164 76.9876965542 77.0067460601 77.5675049197 77.8526466493 77.9903942431 78.3855356312 79.7301424981 79.8290219279 80.7435195265 80.9103565271 83.5408776915 109.18412712 110.119178108 110.468065521 110.688553049 113.106551554 114.525138846 114.721734346 114.96076636 115.189746294 115.248337693 115.67902913 116.768344718 116.78010467 117.00715711 117.249683158 117.590825718 118.497226894 123.441578195 123.904281104 123.911584071 124.411506717 124.663202644 124.707303859 124.783757904 124.825954134 124.864563579 125.04609251 125.077702832 125.504768166 125.701459895 125.784763367 125.800962685 126.089759937 127.2955255 128.612726968 130.079105643 130.260008684 131.136064099 131.194915304 131.212065547 131.334560856 131.792479041 132.611627274 133.549199617 133.553002172 133.959483872 134.799739746 138.264177563 138.474416558 141.164401889
20 | 0.157426683501 0.489192266901 0.54394382783 0.672722805451 1.0563939482 1.4381802046 1.52811987135 1.58918622582 3.59970858312 21.0737327685 22.418980304 22.7357355835 24.4673521516 32.1865878846 33.8293678835 37.3630742944 38.0251321295 38.3688051195 38.3855220805 38.6079219875 38.7726988547 47.0928126415 47.6190815289 47.7385550729 47.8779755421 58.6055515867 58.8515649249 70.3867122535 72.020189582 72.2736354235 78.4029550572 81.4185112185 81.9141756671 83.6643009929 83.9454321392 83.9551837892 84.4486389502 84.489346466 85.4268459826 88.2229402821 88.7263311697 96.3386050514 96.3876217953 103.463263948 107.608244809 107.653614189 108.111236534 111.691939311 112.60696897 115.422427738 116.133156432 126.917206792 127.373986331 128.18063616 130.562417365 130.692804572 130.710004694 130.901084943 131.523153731 137.300416388 137.934803508 139.820224735 140.394162774 140.42992564 141.106013137 142.233367802 142.529940584 143.037989704 143.486264556 143.879983594 143.907019382 144.17703589 150.563739114 155.355683733 159.357355286 161.68977122 161.773384596 163.133911528 163.241677254 163.346968975 164.092060949 168.760584172 169.393837094 176.966724673 177.141538148 177.239673071 177.464602357 177.645260451 178.043349696 179.222399053 179.77551391 179.794523304 180.296753671 181.835843384 182.078111751 182.516321749 182.526591871 182.570874056 182.927458147 184.250881719 184.978354186 191.418766761 192.185689491 193.358095436 208.110276324 209.345171441 209.402799048 209.608374069 209.650269578 209.982517208 210.862125213 210.919699223 211.464544271 211.904493716 211.94778152 213.477746949 213.774188515 213.994699008 214.185353751 215.261349447 215.399412867 215.518556868 215.576072637 215.739912809 216.051481273 216.597345107 216.758010151 217.05093934 217.054603733 217.171596877 217.285839139 217.420435021 218.210505053 218.60245145 218.990449923 219.035961366 219.610386336 220.365685549 220.392558854 220.579049011 220.80013803 220.988311032 221.084758392 221.375068291 221.716784832 221.979982162 222.270571115 222.634819221 231.77676811 240.235402872 248.125042312 249.184248099 252.447421611 252.473375276 252.588096852 252.950533269
21 | 1.22667728026 1.52764705839 2.00033380641 2.2908832654 2.89751944135 3.1942053349 3.3569084135 4.35114977093 4.69767458899 5.6053909002 21.8678422226 22.6214868102 25.5978181432 28.8570226903 31.1457151297 37.8207448244 37.9671896831 38.7263786631 38.9084980436 39.4338516652 39.8075346509 40.9751995507 42.7845025206 43.1830570244 43.2405762771 43.3176597127 43.4603867672 43.7114857783 43.7728818401 43.7854734728 43.9576460151 44.2887834951 44.3750583745 44.4080619656 44.5091319876 44.6736581879 44.7464068145 45.1462243888 45.4343599155 46.0157781033 46.487699457 47.1340515854 47.351463918 47.4482593046 47.4700806168 58.8048934122 64.8479601067 65.0869880099 67.8423267967 67.932178888 68.3169396269 68.3821295777 68.3876974165 68.5405817621 71.8832822183 73.0837942862 73.1187835699 74.0956755084 76.3962114587 76.7930180175 76.8775629251 76.9595346424 77.2241649996 77.5523026667 77.8545433942 77.9316258333 78.068717683 78.2835613885 78.4055848267 79.119143305 79.1904188423 79.4344470085 80.1134877001 81.2058558565 81.2658142209 81.330024746 81.4663861406 81.7131251738 81.7160311214 82.2099720854 82.7727920263 83.2562744314 83.4470620678 83.5469932868 83.8167868249 84.4911210505 86.3209588622 86.3253608205 87.3936729153 94.9495602615 95.0907602897 95.7345056487 96.9956357594 97.2677231602 97.3667046522 98.0144793125 98.0818167987 98.2093234751 98.5149568308 100.497943304 105.540855191 109.043366092 109.245617418 111.420923733 111.845239087 129.903187444 131.462617619 135.522651472 145.564928282 145.567739728 146.368669478 146.974731948 149.249327582 157.503274534 157.714815214 157.977107919 158.411588498 165.819651786 167.182714663 167.834166921 168.458282552 169.479455781 169.540079396 170.240564835 172.392189588 191.281568673 191.835460179 194.450135478 194.491039795 195.445880195 199.597591109 199.715081969 199.844796448 200.158325246 200.492245429 200.623343375 201.373788732 202.657071501 203.057274759 203.133756014 203.246539981 203.8816672 204.848874808 207.76713959 209.160009838 215.077128528 215.238262359 215.372490603 215.523664051 215.526271702 215.817771377 216.128224302 216.35644536 219.640583668 220.33835133 221.287294962
22 | 1.5737965293 1.62015045903 1.77875174914 1.93657336326 2.39966382247 2.78760071245 2.87620293433 3.10162282539 3.33223325636 4.00767845382 4.25587410262 4.42120440784 4.95386286873 5.61209216418 6.16147247059 6.27715376479 6.65275690415 7.41531414778 7.45938716248 7.67364324907 8.10761640754 8.66289815106 8.79508607049 9.96876949372 14.5257605776 14.5871050446 18.0580023887 20.6353806031 22.5290562268 23.0360679515 23.1003536228 23.529630925 24.5824296693 25.1262663142 25.1625897761 25.4736545027 25.635516471 25.7800896491 26.6569290189 27.8357445074 28.0170772904 29.0671941109 29.4450721465 29.6130798495 29.6845399805 29.8000598563 29.8824337657 29.8895952353 29.9216774211 30.0227184486 30.2509754321 30.3469618521 30.3668352564 30.4113756283 30.4244322614 30.4608226611 30.7329311465 30.7623528175 30.7813649475 30.8236915729 30.9963877108 31.1822655435 31.2850004585 31.3296568274 31.3341793291 31.4943149683 31.5037854622 31.5777548831 31.7715898961 31.8962222203 31.9055778235 32.0327462399 32.117751459 32.1901207165 32.1959981514 32.2890094277 32.3727811513 32.5267436532 32.6166779277 32.6185429607 32.649661778 32.6931950862 32.7027642127 32.7421882689 32.8291416721 32.9975475235 33.0324253505 33.3188779029 33.3588621933 33.688371802 33.7128919158 33.9931288894 34.0411644163 34.196586259 34.6439538829 34.9330906365 34.9659957026 35.0152154134 35.2398656242 35.8512924869 36.2977988651 38.8441612389 40.4286350708 40.7990553681 41.0481797563 41.9544027107 42.9658430169 43.2020005491 49.0291705039 49.9170934928 53.2057106577 58.4705043209 62.823915844 88.9082561411 90.6337783211 92.0272967098 97.4385635605 97.6519026925 99.2839197052 99.7611537684 99.9178885093 100.220614841 100.378897065 101.508658847 102.053066347 102.856378584 102.920006727 103.28230028 103.302185312 103.554447784 103.809485011 103.828241664 104.584571107 104.738682909 104.971966698 105.21962979 107.269527777 122.536945124 122.796913288 123.146955321 123.604496173 125.429612438 128.001391648 136.017348312 136.649171482 136.70456449 137.037426154 137.851567429 137.989113627 138.244091983 138.964686052 139.30799555 142.066919149 142.635072031 154.595254461 165.365333324
23 | 0.476041433132 0.87048212449 1.21321970935 1.33274650083 1.7132313104 1.72589614783 1.78752005175 2.14309489077 2.36901399546 2.58736043346 2.72988567292 2.99636397611 3.2190612651 3.5581642617 4.08245388573 4.55941399546 4.5678612549 5.15943823669 5.59634812494 5.99260888875 6.18902894791 6.38708065518 6.57675381732 6.67076141109 8.20909333662 11.3970280177 12.6788987339 13.1662789132 13.736274167 14.3365715714 14.4482648685 14.8593114812 14.9140962667 14.9983057661 15.2971730948 15.3037992894 15.3055104101 15.3871071656 15.6447523305 15.7044644652 15.9692440124 16.3619743337 16.8456306503 17.2891121769 18.4421122264 18.4460232678 18.4541853906 18.6949414303 18.8395774999 18.9308390158 18.9653245566 19.1280306619 20.2580157168 20.6201846125 21.4918632094 21.6664982571 21.8303044212 22.3393480948 22.767555339 22.7777429147 23.9305469636 24.050359944 24.139997067 24.1423032263 24.4220288561 24.6491363436 24.9299246802 25.2076507992 25.3192361415 25.4685894513 25.8839984241 26.1513750472 26.2411312641 28.2169592689 39.0779686915 39.8796065342 40.5810634253 41.4038765829 46.7697508256 49.2275073914 49.6010843148 49.7524011208 50.1024613181 50.337126423 50.437730149 50.4553607675 50.463481253 51.2756573604 51.6044012016 52.418873383 52.9597442926 54.6626399933 54.7982963187 54.9107648423 55.0286513201 55.2633086064 55.6091125147 56.145461205 56.3138011666 56.3374967378 56.3569394108 56.5013073592 57.1138625478 57.1402332731 57.173931544 57.9398607051 58.2148986785 59.2487600889 59.5964533147 59.7386254338 62.70732041 66.4329416258 66.895130876 74.5820485802 76.3425140877 94.6900648986 94.7355201383 96.3519014108 96.7595062233 98.6530586031 98.7268095657 98.8943460372 99.8036933049 99.8557474088 99.8976012259 100.023292316 100.023787349 100.508256979 101.957638584 102.090162223 102.103302669 102.229044136 102.244084061 102.300785533 102.519623913 102.556190461 102.599869626 102.730322869 102.780134927 102.93015284 102.953051953 103.165880385 103.498454046 103.555628507 103.604788272 103.725120464 103.870919161 103.898470035 103.915798539 104.133524277 104.174127601 104.307556483 104.562435334 104.614240279 104.638330321 104.657280988
24 | 0.209248595304 0.868294972068 0.965580468874 2.05522649428 3.37635101837 3.87924693146 4.6016100179 5.00255951002 5.08301579388 5.29903956845 5.43077722716 6.22658669136 6.72560661362 6.73455385894 7.04765391019 7.13306658961 7.34407077235 7.51743141683 7.74157666727 8.45465362895 15.7369382826 16.3004792469 17.3736418943 17.7795947722 18.9198725764 19.2330152412 19.9384425859 20.5135776361 26.3788657966 27.8059203804 30.4314223359 33.0560884688 33.5626121309 34.6642700177 46.5963922135 50.8246594258 52.8544248499 53.0313219281 54.1358353999 54.1458606007 54.1774706749 54.784451452 54.9407046597 55.1046521736 55.1107432844 55.6797060817 56.3598141831 56.9692979523 57.8747369932 58.99396741 59.4798339637 59.7804006391 59.8730615761 61.0331957222 61.7507115906 64.0507605241 64.7862082881 80.2897367392 94.4058254011 98.7059710962 106.033197282 106.04700338 107.485321522 107.550390635 108.462804405 109.593533054 109.598953228 109.792830269 110.723395307 111.067951335 111.38962932 111.513517051 112.252831532 113.114422587 114.519473242 114.639254976 114.785013386 115.06236897 115.645172446 115.741718913 116.041436481 116.998271917 117.720203541 117.923168533 118.567391468 127.10647598 141.080803227 160.518988022 160.969610152 161.321944839 161.993053996 162.008912168 163.148224969 163.55156193 163.634406672 163.687906319 164.25569385 165.554610686 166.506358363 167.709108591 169.792001391 170.292541408 170.752023878 170.768613024 170.77797715 170.982208672 171.689528484 171.706880369 172.301342598 172.486390594 172.621613886 173.069634019 173.301602661 173.383534745 173.781275289 173.815768495 173.857544815 173.950806174 174.111150149 174.163398587 174.185214877 174.241617236 174.25157621 174.726625633 175.131714428 175.559764051 176.486264963 176.570530376 176.728027935 177.171842025 177.393502851 177.625017807 177.784829546 178.873690811 179.217498043 179.785797979 180.125785272 180.512116561 181.054114466 182.237812234 183.473054592 185.655272124 190.272229846 195.710152484 196.572537962 196.996118795 197.967448629 198.26852847 198.333821537 198.487878895 198.611895952 198.838352963 198.956762742 199.154603318 199.525599065 199.577101184
25 | 0.10312974883 1.92607472912 1.99659736352 3.9039751302 5.07250694909 5.11413582952 5.31402012688 5.44384689138 5.46774742285 5.59557618701 5.76193183045 6.03332138659 6.36944947231 6.40807437945 8.14213059863 8.6161084715 9.30444134834 9.51908978245 10.4896374232 10.7989099829 10.8231601926 11.1626747169 12.1026341016 13.5753766133 13.9415432333 14.2716017293 17.0523059367 21.7752919521 23.1309529221 23.2018839744 26.2549414116 32.4348198886 33.2644488791 34.0283542023 39.6076449849 45.5117945367 46.1599466852 46.799790013 51.5675295628 52.2808028831 55.123010155 58.5904321266 59.6271303566 59.7915919198 60.0782229885 60.2044813126 60.2408262706 61.4255294657 62.1868962449 62.2068539605 62.3806328868 62.3918095584 62.64014436 62.7196082071 63.2576998581 64.1056574462 64.234239949 64.5639689091 64.6815126989 65.1140517077 65.2966136876 65.3156079621 66.0084935857 66.0524158503 66.1789267157 66.5566422728 66.6510087286 66.811978176 66.8752418713 67.3334535051 67.384666348 67.5221301318 67.7494327692 67.7998675569 67.8516296417 68.0623782876 68.4145189139 68.5622497736 69.1494134714 69.1547166488 69.525200066 69.5790809227 69.6273701388 70.2930487449 70.4166693716 70.4332539253 70.5973402553 70.6201971756 70.6600353021 70.7021471081 70.9137927693 72.1092581043 72.3828764307 72.4281588027 72.4712962828 72.6458726664 72.653204486 72.7416386073 72.8764656917 73.904132468 73.9975284169 74.0482630161 74.1270913434 74.4198855688 74.5095058237 74.547440832 74.8623204197 74.9072796044 75.0855107483 75.1344450879 75.3096116191 75.3791232423 75.4599963073 75.4758290761 75.4773600574 75.5718010351 75.6303583928 75.6881122437 75.9152349805 75.9526571404 76.0392212945 76.0637895168 76.0955272819 76.1071894524 76.2232448668 76.2871032039 76.4015024758 76.4030526184 76.4837840232 76.5244328154 76.6713014426 77.0290644378 77.2523356861 77.3700386059 77.4765768507 77.672175636 77.7304975923 77.7475790901 78.425678406 78.5932070967 78.6185799247 78.7090228017 79.3645231051 79.5162671526 79.9761031393 80.1445633793 80.1920533423 80.4879720703 80.62918617 81.1902214131 82.2914785361 82.8470762959 82.9754190729 84.0298200026 84.5401334842 84.554640547
26 | 2.32804434186 4.61278600158 4.93530294859 4.93921814088 5.03126673423 13.9895976269 15.9828915187 17.5833927354 18.3190727742 19.086589731 30.4326642311 39.3547929894 39.5935119469 42.5998671977 44.0987972744 51.0270008972 51.0758868782 62.0924136775 69.323722033 69.3642245809 69.5547595539 71.0516694409 71.2211278342 71.9781304567 72.7916963417 73.2717451704 74.5968301381 74.712948993 75.2007359432 75.5295212549 76.3987562905 76.4393117204 76.8704226786 77.340418252 77.3405865653 77.609116422 78.8202209369 78.8458217159 82.0923982726 86.2420735512 86.7502406203 89.9096404856 90.3115294689 90.5899785434 91.0130237731 91.1305356099 95.3721304114 95.6116975385 100.669917641 104.650470298 105.640387809 106.327326458 106.333915108 106.737086666 107.590773267 107.709396804 108.318474286 108.879503465 109.195931917 109.3946174 109.505615547 111.242014371 112.037388351 118.6416123 118.933366864 120.276369746 120.580160269 121.685957411 122.045936352 123.338147401 123.722989392 123.903023358 124.54714472 130.649272202 140.654452143 140.663939338 141.059437683 141.173501335 142.057803739 144.237619171 146.135664179 147.118872852 148.781006416 150.897752036 161.219855846 161.349284502 161.556577987 163.16683538 163.19564613 163.292258368 163.32998081 164.224015774 164.271277291 164.298900687 164.319199333 164.389403356 164.732331894 164.817536343 164.822096022 164.866110985 164.93352725 164.981257916 165.006715468 165.053116979 165.073137609 165.093560198 165.093588715 165.154440149 165.393586084 166.144194258 166.382289218 167.446280869 169.416527854 171.244102679 172.048057677 172.062995277 172.114113859 172.18094636 172.524125021 172.67524933 172.984520463 173.352893096 173.52322075 173.818064847 173.976478135 174.022577402 174.100753918 174.229069639 174.264178341 174.322776217 174.334006398 174.463602956 174.487861068 174.641405974 174.937122928 175.097843811 175.342604238 175.496333777 175.527461122 175.947667305 176.549645286 176.615505737 176.723328585 179.233943266 179.472260008 180.139081509 180.300008575 180.349835673 180.470254285 181.87564312 183.493970969 184.092475755 185.660880665 185.906336144 186.284491386 186.940822624
27 | 0.26287166353 0.518844593666 1.0916410368 1.32105958406 1.52641281323 1.72685472218 1.81322878727 1.89191630805 2.69427692773 3.3745650424 4.17465656148 4.60182113948 4.84648539827 4.98059457071 5.0025516723 5.045907363 5.12835255493 5.26267975528 5.49614454167 5.58545048604 5.71052399102 5.74246043685 6.09869184758 6.10768871188 6.25529286119 6.26062730599 6.27815421841 6.30103875462 6.84696107231 6.87139223946 6.98438880099 6.99355993286 7.02783000141 7.45144929781 7.77227318235 8.0571794797 9.12216835501 10.1725368744 12.3033359548 15.0027043803 15.7562634091 18.1222551189 18.3647353291 31.3423399929 31.9482460164 32.1220015381 39.7102624586 41.0416683817 41.2632437507 55.0399929301 58.6733505882 69.1920536243 70.9738558365 71.9221113124 73.2208226769 77.2912329162 77.4413325228 77.5126067905 86.7854680656 86.9133969366 88.6276232198 88.9628479902 89.6380324112 89.7200119901 89.8290984584 90.1851411266 98.9401678518 101.181361821 114.760450848 117.401707447 122.135190048 122.332688107 126.791798381 127.870092827 128.151357031 128.152451948 129.472033299 129.5950189 129.630832075 129.6380413 129.669964244 146.960085694 149.116039096 149.191660773 149.340072301 149.426932427 149.574143022 149.641655134 151.375002683 151.608047271 151.974942193 152.026511426 154.859303372 159.15523091 160.771602721 162.466820466 163.396801816 166.716004214 179.195622728 179.38018158 179.79686735 180.650515211 180.729592316 181.079338813 181.556923197 181.968041727 183.047083039 183.089835271 183.135132085 183.900868498 184.149240706 194.6605701 195.632105341 200.693069176 200.751537449 200.947807718 201.028753366 202.799634622 203.480972 203.877438991 203.893776324 205.488596651 206.364413691 210.610990695 210.656896392 210.943919757 211.109610793 211.110215067 211.178551529 211.288119484 211.604001383 212.554454896 212.621615767 214.414916698 215.166024092 215.456170286 216.0568465 234.439488626 236.02946178 236.655697016 238.144302363 238.199444219 238.297854627 239.294430335 240.354648996 240.5109287 241.265413782 242.073313094 242.180097418 246.750907223 251.016436366 255.142147744 256.076511202 257.438333613 259.691701825 260.510464716
28 | 0.119747817262 0.297276076242 0.515161104981 0.837093626971 0.857097915694 0.937244433953 0.956059696167 0.984643356263 2.7003799966 3.25602547503 4.48715508846 4.84757569592 5.4823767837 6.77608817404 8.01612529378 8.2477047862 8.60436741463 9.11981933633 11.2281117287 14.3726992114 22.5534879699 29.8630241094 30.0114291534 30.9572301432 31.3138254432 32.3146570836 32.7802801667 34.8786149957 35.2136166823 35.324264856 35.4224742994 35.4399074372 35.8510920879 35.9631294301 37.9732039593 38.5746125036 39.2463848401 45.5238770241 47.7296269724 50.1204742429 50.3449104619 51.1505073328 51.2312394516 51.3824800312 51.4220521227 51.6033265748 51.6969524699 51.8803001724 52.1617803475 52.3233239714 52.5175877357 52.6404364221 53.1832940698 53.4974041572 54.5306281818 57.2617874084 57.6692517409 58.0060987241 58.0704134738 58.4503716335 59.0488967105 59.2338371591 59.4289321203 60.6044764686 61.1720743487 62.9843750987 67.6662341487 68.9595955995 70.3584384159 71.666130377 71.9614336102 72.1273017956 88.9660949167 90.3575149437 91.0838628965 91.9766009085 92.4548769435 104.145135621 104.280786355 104.461651303 104.49592941 104.516190722 104.805530135 104.874394137 105.113373815 105.192662914 105.25793827 105.805003755 106.055799699 106.23441616 106.365593388 106.606996576 107.031168098 107.185296431 107.669970502 107.675813502 107.696916633 107.715462148 107.78122396 107.958941541 107.973491178 108.117016451 108.152574685 108.173282712 108.214259551 109.374500241 110.958518911 123.94549545 124.280907819 124.710030162 124.761346144 126.029924851 130.420940048 130.556391431 131.358379928 132.336651545 132.476332436 133.057748089 133.670269899 134.515407153 134.971412323 135.239963969 135.43552764 135.533413055 137.655526244 138.258896437 138.608064817 138.680214115 138.884351949 139.004570062 139.212255763 139.424436826 139.435110649 139.449356288 139.549996697 139.575812868 139.640806737 139.663267403 140.250293051 140.346090621 140.457875431 140.539205877 140.797423848 140.897846519 140.973511855 141.035713142 141.044563377 141.2757815 141.31549349 141.329519942 141.408712969 141.526140474 142.048212807 142.290524104 142.339721154 142.577220753
29 | 0.963375719555 1.41283448858 1.80148420893 2.04118201734 23.0368190042 24.4814225458 24.7413811701 24.8217973095 25.3970301841 25.4230971313 25.5070370448 25.8852296251 25.9766838731 25.9998650684 26.0744373608 26.0972865156 26.4172478216 26.4493971222 26.6531345947 27.069275231 27.212358024 27.2903621166 27.5560131483 27.7936271567 27.794316136 27.8013687864 28.0770046787 28.1976770189 28.2305539517 28.5690707718 28.5764946684 28.7696593536 29.1161778956 30.5128408826 30.5559130093 30.9358608118 30.992701799 31.873655192 31.9594866151 32.4399692548 32.8843065588 37.5682374527 37.7534974154 41.0457231478 41.1860954646 41.8214243985 53.1561576702 53.3987162923 53.4637709197 53.7946849965 53.951257775 54.7464711265 54.8944648993 55.5383811239 55.5406197232 57.4079562217 57.9594752267 58.4243017257 58.524813947 58.7314276764 59.2128460093 59.2232653538 59.3103594459 59.5029110412 59.6624143679 59.8853616697 59.9765010442 60.2695858455 60.6738416805 60.7815272365 61.0956517755 61.4027402808 61.5404479001 61.5834542247 61.6831873805 62.0181897004 62.0402896846 62.2021296694 62.7691515953 63.0973146237 63.1714573847 63.1848300734 63.4132086913 63.5190288904 63.658733194 63.6684229116 63.68982052 63.7030074875 63.7348796123 63.7510428404 63.765791062 63.7776263436 63.9692940364 64.0437509977 64.1038880725 64.4616119313 64.5666748971 64.573367703 64.888874571 65.1403171088 65.1784322098 65.2114673539 65.4435317139 65.4807309133 65.7616046536 65.8410760769 66.182747506 66.184409331 66.214757693 66.2620481791 66.5177987733 66.5839632196 66.6998693078 66.7943562143 66.8410456007 67.0924109777 67.1247049126 67.1762556054 67.278596539 67.5247319037 67.5549056181 67.6615395566 67.6875361092 67.7851740804 67.8260334622 67.9791665971 68.1798328747 68.2162244226 68.3070525099 68.4448190219 68.5512697489 68.5855223658 68.6865953768 68.7031111816 68.7213680783 68.733975789 68.7741838587 68.7904608339 69.0243259866 69.0490650239 69.1432178432 69.1457328337 69.1531715012 69.1663783556 69.2026877423 69.2100130891 69.3134167903 69.3339906842 69.511430317 69.5685730505 69.6335479047 69.6377126983 69.6784472906 69.7161676485 69.7226078495 69.7499604596
30 | 0.12613994041 0.162710230521 0.269480659445 0.571144336493 0.644236144239 0.66542846724 0.930021138134 1.38788165853 1.57453221919 1.85092475107 1.8981980598 2.03552215901 2.31888605067 2.41703500078 2.53873220676 2.66220824641 2.81017463526 2.85360252669 2.88220363525 2.9173148078 3.03179286999 3.06251108923 3.10783081799 3.12384282852 3.14141009676 3.1639039822 3.1719085335 3.20453794557 3.29600062174 3.32518015047 3.88926260867 4.05965030577 4.70228870868 4.71940632696 4.73871781387 4.76005764289 4.77801852511 4.81342471074 5.03939063536 5.06578426752 5.07546557009 5.08765342433 5.10911141227 5.11846741286 5.12354125034 5.13927587772 5.24944548979 5.25185231172 5.31042609142 5.35833915895 5.38044102075 5.42385141843 5.82843023018 5.86398376716 6.20148114872 6.32329687462 6.39669483412 7.72395407433 8.43952963297 14.4549571148 14.598828892 15.2570770733 15.2579329424 15.5970795921 15.7030460253 15.7234646305 15.8099852169 15.8229628092 15.9032446831 16.1046683852 16.3874179753 16.4317932418 17.6228276468 17.8967929759 18.5565855502 18.8075845242 19.7622522205 23.2178998087 24.6611054884 26.1354372368 26.9267245167 33.6992409867 34.8148444997 34.8624418714 35.5334730625 36.636351984 36.6534773792 37.0754568589 37.1656808149 37.2784498423 37.357331117 37.6271082553 38.0964235159 38.3324478143 38.3951679401 39.3999396861 39.4987955069 39.6607812747 40.2554319739 40.6597859639 41.1687262688 42.2836784494 42.5562563156 43.7260919594 54.8845306081 77.2987703324 80.0874042198 82.4352324316 82.5778061084 83.0930181034 83.4242492361 85.2197664066 86.1149696853 86.1537262373 86.4072943773 86.5827218511 86.901975081 88.5295504824 93.1489593751 93.1695727692 93.1733922564 93.5112595174 94.4210030373 94.4536803523 94.5288383255 94.7191258177 94.7997239602 95.0174968071 95.071086913 95.392466827 95.513406197 95.5356551249 95.6528833402 96.2153834315 96.2961225052 96.3244595625 96.4250076517 97.0176726083 98.6983996314 101.154003909 101.564848068 101.681477815 102.813256244 102.930165697 103.09751371 103.496063551 104.116467103 104.31329589 105.366987394 105.43749524 106.558391743 107.743911031 108.424685891 109.209093362 109.41356533 109.524947227
31 | 1.54409578647 2.04572572494 3.89040565051 3.90962459935 3.98835248016 4.45127954023 4.50547992576 5.07495741639 5.10618608477 5.11427936167 5.28871322882 5.67687426674 5.90963183156 6.09153200306 6.2265494309 7.38087706958 7.84587624055 7.91979531986 9.90091033345 13.8626507748 14.0546603386 23.3501747023 24.1950020148 27.6702835357 28.1123784263 29.0842100075 29.2542645882 29.2852455629 29.4282225499 29.5560691949 31.8742062973 35.3965198415 43.1837675402 45.7910749001 45.910434589 50.1189859827 51.2731017653 51.2954472836 52.1384791109 52.5516643857 53.4608604371 53.7237979219 54.1744224549 54.2520341862 54.3211301361 55.5079682738 56.1490543781 56.6405314585 56.6866247304 56.8255890023 57.5101446609 57.5360058442 58.2443820907 58.7066013587 59.0726249923 59.9593583939 60.2584957696 60.3781052157 60.5122077251 61.0542940033 61.3696810576 61.5560354735 62.8099226476 64.3143210051 66.0442436648 68.1570446631 77.3843726523 77.3981293516 77.4061875595 77.5944369517 78.3180562319 79.359440352 80.2139196785 81.3636389581 83.5748800828 88.0362693026 90.5068945726 90.9487929646 91.067103655 91.3504822913 91.5905151591 91.8370518259 91.9342798336 91.9370617481 93.2692303047 93.3227800417 93.4189821399 93.7757329674 94.1987669884 94.217829911 94.5686257236 94.8806714334 106.937982486 108.153933974 108.693380383 109.123300906 109.643409581 109.711027633 109.792248544 109.923186294 110.073805519 110.816758449 110.836579731 112.246043239 113.111217678 113.121960818 113.350815444 113.838098228 113.859061578 114.069823093 114.687468326 115.280725299 115.299514973 115.386451523 115.719719146 117.181674789 117.55218704 117.796084001 118.037987183 118.24013836 118.495621632 118.56442334 119.523477901 119.895841634 133.772225942 136.913945142 137.265266876 137.566215701 137.596578156 137.852006153 138.261920091 138.294614485 138.442976685 138.609220053 138.81392792 138.81962885 138.892762958 138.896439747 138.906158632 138.924200927 139.317164973 139.566105646 139.606687717 140.156968037 140.345255173 142.061414824 142.064439505 142.083760725 142.242144518 142.285782117 142.288797038 142.339101439 142.352697035 142.432540644 143.181330704 143.270553181
32 | 0.0197750469961 0.298155860241 0.321326815734 1.1769000965 1.40076148535 1.66171864542 2.3215120446 3.36609382179 4.13508665414 4.18157700848 4.70808096194 4.80727589784 4.86388319494 4.92679748755 6.22113909512 10.265072775 29.3104585747 30.6836921162 32.9371883251 33.0839802589 35.3920748641 35.7235501268 36.1815695477 36.9106472458 37.2460674306 37.4653597077 37.9204255666 38.0067749586 38.2692712151 38.7115241531 38.85822524 39.1002453549 39.1096870072 39.5704333676 39.6922971817 40.1223235742 40.1579210146 46.978729827 47.4835878071 50.047737275 53.3467203616 53.4298139656 53.578096867 54.3116469815 54.5451115287 55.3852225184 55.4484896459 56.6884743695 57.1735041159 57.56411877 58.4197151834 58.468877868 59.7951638242 61.5348261937 62.3010521258 62.4819794143 62.9107352341 63.6545014478 65.8027039245 76.7817211438 78.1608524021 78.1993787503 78.5282382737 78.8453865631 80.3111892792 81.7384398067 81.9891241655 82.7425820528 82.7682281953 82.8588359349 83.3416533157 83.5626793476 83.631568102 84.5070122026 86.6579470944 89.8897286995 90.1892106979 90.2122534336 90.8554241324 91.1003277496 91.3142694847 91.7652533189 92.3132035238 94.2037255411 94.5602863506 95.0932466676 95.6301766018 96.0884226263 97.3536172517 98.5969811328 99.3432858208 104.219525268 105.008738876 106.555904198 106.633789937 106.706140364 106.922731992 107.000659449 107.266974575 107.376076159 107.726974127 108.447523108 109.149843839 110.595549214 112.587371543 113.384508753 114.123036816 114.410853156 114.485247609 115.058386738 115.194955758 115.712059217 117.309073767 117.467650815 117.599582657 117.769233226 117.825971709 119.718617217 121.869634351 122.541658126 124.077771397 125.409881018 125.518380066 125.712269843 126.128544673 126.740229983 127.293166784 127.823651692 127.857274363 128.068230697 128.250679804 128.566566041 129.007892798 129.573765279 129.912404841 130.231917669 130.279049755 130.333211949 130.529177654 130.530409391 130.628584157 130.880721252 131.754880576 131.833982768 139.678580942 140.599292658 140.664296006 142.031391822 142.446993115 142.488919802 143.516611899 143.783609708 143.791760999 143.992992444 144.270361364 144.661063436
33 | 0.303286920105 0.458144689721 1.39729653244 1.51264228786 2.09001611351 2.54614196884 2.54940653775 2.67612323395 2.76725622576 3.08454181318 3.55311661144 3.68571726038 3.75281901152 3.83893033837 4.05481313164 4.12312542351 4.32384895103 4.3477254407 4.43456351263 4.68450839908 4.70827179624 5.463065601 7.14394864867 9.7781002353 11.4875164919 11.7056266772 12.5421379242 14.2833689433 19.6145804293 22.9764605252 23.793086816 24.2371205928 24.9339748725 27.8746068035 28.1108031488 28.2037511439 28.2719516491 28.799860366 30.2751906004 30.2898176178 30.3047405668 30.586591003 30.9232519309 30.9641077757 31.3305743148 31.3786188359 31.3855739852 31.3955901689 31.432878215 31.6537511469 31.8351017826 31.8888660968 32.3769227555 32.5020862594 32.6513541525 32.6625901219 32.8009027079 33.2018320337 33.3342364401 34.0732967013 34.6647840198 34.7316451029 34.8346577814 35.1710869214 35.4230407299 35.4506235678 35.5112985878 35.5279449587 35.8128782242 35.8153496789 35.9713324024 36.0503027642 36.0822797427 36.0837299899 36.1534519781 36.2474581126 36.5345104215 36.642145561 36.6897259275 36.8491033463 36.8832738931 37.0043701465 37.0205980424 37.1775724745 37.4067642459 37.5796324929 37.7769985865 37.8966749335 38.1134590532 38.3362139353 42.5793553985 57.6880153936 58.6417496957 59.3918732334 60.1505933832 64.0196442703 64.0403552051 64.9318259642 65.1379883328 65.4301908742 65.4859620275 65.7814795503 65.907396309 66.2535783877 66.2662808968 66.6183477006 66.9299513184 67.6387930713 67.6503405461 68.1722665737 68.2986026069 68.5724492937 69.6595254345 71.2609392323 73.2393333143 73.5283596849 74.3762107855 74.5458127096 75.7267021853 75.7408815995 76.1128643979 76.8743303788 77.0312562086 77.2689532728 77.4858861264 77.7324959599 77.8636699163 78.1518926663 78.6914276661 78.7930773389 78.8537357099 78.8590712089 79.1160413111 79.3089485788 79.3827891252 79.7015520948 79.7105552324 79.7718747191 79.8335239231 80.4517424618 80.6827969318 80.9070823498 80.9738158031 81.0451853917 81.2000998785 81.7767082058 81.7897579464 82.3842782114 82.3895027194 82.6043945159 84.8788247981 84.9395323761 85.2964409219 85.7387854033 86.3507232315 92.6179734662
34 | 1.51539420778 2.39786486069 7.08213039018 8.01887236195 9.32069879118 9.47892189382 9.68743349338 9.88567677047 10.0395187252 10.5509821056 11.623933114 11.6678758688 11.6929709513 11.8144732891 12.1932461729 12.8216161129 13.2095206422 13.2355893872 13.778972667 21.1321183172 21.6387240608 32.7485182868 37.6899559153 38.2835277141 38.5776415613 38.7056263515 38.7638448802 38.9303235394 40.1541298765 41.4610825714 41.5691601907 41.7855536643 42.5661099 42.8730307233 43.0040251358 43.0985598601 43.1001774502 43.6324570474 43.7365262365 43.8030531563 44.1829289751 44.4474569818 44.578392684 45.1838312731 45.574742909 52.4913798 65.4349551337 66.0149665081 66.5696608208 70.0440228602 70.343393075 70.7675331441 70.984523637 71.0436870005 72.8546169502 75.2931942071 75.8716356728 75.9708534039 77.29638421 77.9524046936 78.8777185068 78.9526474919 79.2158654367 79.2974680859 79.3882258344 79.4132692579 79.4402517609 79.6312274996 79.800372631 79.8809523917 79.9872400619 79.9954697744 80.1464728311 80.4122172543 80.5459586173 80.8483474284 80.9571899653 80.9862165056 81.1037085309 81.132918259 81.9048628104 81.9793626554 82.4090366113 82.4470595968 82.5373344558 82.7104631255 82.7748444398 83.8315953925 83.9080892847 84.008476125 84.4732959435 85.3395322619 85.6832190027 86.4506955505 86.535991514 86.6117357226 86.9790588383 87.4001321552 88.2123214737 88.5367764174 88.6836054707 90.5051315992 90.9182751798 91.0974898014 91.1296909534 91.3250114196 91.4105083933 91.7035386783 93.6964433358 95.4520562575 95.6054915491 96.3634632316 96.4828213485 96.6266608714 97.4709618913 98.7375055607 98.8239109225 99.4823788092 99.7150000589 99.7621312229 100.679264633 101.393957206 101.504976952 101.548676184 101.558022994 101.862788631 101.876334227 102.060823528 102.320646576 102.531028611 102.612709334 102.651133379 102.743147539 102.979673087 102.99796737 103.097358645 103.160462192 103.25649148 103.511263127 103.662201566 103.732576926 104.102989434 104.124018602 104.322784848 104.388568414 104.572827701 104.870793375 105.235451789 105.463184719 105.515981824 105.724405513 105.849011944 105.859007388 106.275656309 106.392054157 106.474429684
35 | 0.503690716891 0.569388636352 0.647902984725 0.655937699426 0.797789270531 0.855944429597 0.885307189536 1.19357294554 1.25611985874 1.60128706876 2.77814738064 3.56509333471 3.80031704538 4.18499376198 4.3903261645 4.63056770485 7.28419824915 10.1748345074 12.478122691 16.0425737661 17.2614834262 25.0432816277 26.1048837343 26.1355105374 27.406077858 28.3580728204 28.4830414712 29.0517318067 29.1037669944 29.4569338854 29.5079283394 29.5189503809 29.7656094042 29.9495917813 29.9719752326 30.0055393379 30.2369694344 30.2860911106 30.4292111433 30.4780710905 30.5473064263 30.7531602334 30.7799490405 30.8958855552 30.9018479147 30.9279388401 31.0085607517 31.0443039669 31.0861238294 31.0915112596 31.278988331 31.3460015246 31.3905291438 31.3977187683 31.4592619389 31.5754865927 31.9181662469 31.9335957814 32.0785797542 32.2707626843 32.3198522942 32.8086384148 32.8442065707 32.931102315 32.9912257636 33.0923435142 33.1248536893 33.1344042485 33.5190873323 33.9408519146 33.992046229 34.2562851438 34.3410255891 34.3665775459 34.5792620189 35.3165984212 35.3252023003 35.4376177738 35.511238879 35.7515376085 36.0579647681 37.4627109417 40.3697589588 41.1058450684 41.3316105873 41.9373560816 41.9527670756 41.9770029761 42.2846935822 42.3849299579 42.9125806368 43.8023258198 43.9538693704 44.0183301314 44.3965426116 44.7838132423 45.1470534443 45.2343561036 45.8198091528 45.9079479878 46.3627550842 46.5884730405 46.9948415709 58.5311651625 61.2912062994 71.9577034031 72.3074843747 73.3753763368 73.4494307785 73.7212341825 74.0117117498 74.1656026216 77.1763613202 81.4178969209 89.5235155951 96.3633552902 96.3950303635 96.5399683206 96.6873579624 96.7311747465 96.8777415429 96.9119190724 97.085115327 97.3078669466 97.9557243367 98.5998624523 98.9745335059 103.047887084 112.520351002 113.277382907 117.743965719 118.844026985 119.819903821 119.822944723 121.665483341 121.97105894 122.22689599 122.38464136 124.534368423 125.302011487 125.381282672 125.394351471 127.135085702 127.259256193 127.366957144 127.369505782 127.567877532 127.740688559 127.923376503 128.241809797 129.165512689 130.624468952 130.716839515 132.132055136 132.719935338 134.309302773
36 | 0.318607242756 1.16092685167 1.32431083098 1.40073880025 1.43002811831 1.47222733798 1.56802216549 1.73597572691 2.93998655781 3.37674043375 4.04456464091 4.16142480404 9.71691952685 9.8252154482 9.92251033938 15.0278409884 15.4654003198 16.8178978611 17.1529095721 17.6792723174 21.9972868751 44.8667121954 45.0119697763 45.425793483 45.5553650358 45.827088712 45.9326435511 45.952222538 48.2675368816 57.6714676241 63.7142714852 66.3162374442 72.5027261763 73.1618960744 73.2126764127 74.7546507957 80.6435784498 83.1901310279 86.0684892942 87.5972071043 88.3443702596 89.9349278825 90.4241518933 90.4582966054 90.7639339926 92.1509820466 93.5487774024 93.7675881063 102.272107662 103.997082594 104.17292086 104.609442443 106.525691047 106.624585148 107.308759004 109.583744093 109.990747127 110.984082553 111.488237858 112.176409126 113.4259699 113.811818313 117.709848025 118.235200113 118.312019859 118.521012004 118.831454393 119.075915275 119.196195861 119.478709674 119.672516331 119.95845732 120.310915512 120.398965714 120.477709391 120.535139229 121.367746981 122.311962501 122.603686764 123.360096864 123.361689275 123.725552661 123.846289818 124.161712248 124.211316195 124.231380189 124.507627001 124.751623348 125.252465324 125.261512259 125.327646194 125.550611775 125.570557537 125.588476524 125.652605325 125.72277924 125.731712297 125.768221506 125.829725414 125.950511806 125.985731222 126.399039458 126.424422175 126.758008758 126.767516178 126.935255186 127.03795529 127.041459749 127.161378021 127.18539215 127.405181493 127.49719811 127.521299575 127.969887476 128.057966154 128.235686476 128.561966123 128.676944026 129.107674206 129.140859637 129.357997485 129.402598183 129.686947687 129.725423929 130.09062518 130.372446804 130.394305706 130.922189319 131.41597537 131.419657546 131.999664607 132.221770736 132.570880718 132.744871943 132.767026978 133.013341872 133.1083056 133.63970657 135.430348709 135.504179964 135.859249429 136.574080398 136.746536447 137.210076884 137.365360618 137.576722712 137.625008252 137.633350889 137.768977855 137.825535854 137.85435795 137.85529924 138.328631084 139.066105258 139.76365163 139.911435696
37 | 7.84749344657 13.2187344529 13.6962540343 14.1299982954 14.8823041821 15.3269365267 15.3407118275 16.3875042963 16.4335577385 16.4376786408 16.7781353933 16.8856638663 16.9234291692 17.0333052404 17.3609733585 17.4446428159 17.5640941761 17.7956688888 18.3266843899 18.5592671392 19.2821786111 35.97611321 39.596555901 41.3468450745 48.6395386566 51.6062441396 52.5364649841 53.4218301967 55.2217309944 55.4399710505 55.4718386504 57.1476821829 57.1711218227 57.9819643307 58.354767454 58.3766364002 58.5644130436 59.4162743355 59.8950186869 61.2402339632 62.1903014008 62.5610760656 62.6509898831 63.1825747535 63.8503278967 64.1799910197 64.3242735504 65.1235947842 65.3449953923 66.2909214132 66.5027467063 66.6497637866 66.9545907336 67.0786261573 67.1817849106 67.317932027 67.4421819535 68.368562589 68.6662405018 70.6454561708 70.7273467402 73.9565401747 75.6870365476 76.0823609483 76.5358421981 76.7478496651 76.8282320428 77.2680527615 77.6040542189 77.9857910591 78.0599535456 78.1752767486 78.2247871838 79.0623892607 79.2595014413 79.2720144975 80.0961693403 80.6151802236 80.8932969231 82.5116942888 87.041623226 87.3586710016 87.7579944407 88.2023051532 88.2493181976 88.2828125282 88.7266801855 89.0605030875 89.3584920518 89.8860479001 89.9043712967 90.0971439181 90.3773784052 90.5934158932 90.7381451358 91.1732208206 92.8008716423 104.70447055 107.926781718 108.401366667 109.441597849 110.218133246 110.272583623 114.016584227 122.962050929 123.372926381 124.333572593 125.059367245 128.682628559 129.906760141 130.074942711 132.839887301 134.256500834 136.386009953 137.583793731 137.838160268 137.94571577 138.173456219 138.370127488 138.559231743 139.27006647 139.363020385 139.575846401 139.683300653 139.930796692 139.946522882 139.951946109 140.127899113 140.702361899 141.44052977 141.728917905 142.030389791 142.240584935 143.025041389 143.176449245 143.496131348 143.785139026 143.802227317 143.905512276 144.098697988 144.535168633 145.546219128 145.606250377 159.253759876 164.881315754 167.29280406 167.539297865 170.027396019 170.353619292 170.628511645 170.680146155 170.758187482 170.946756608 171.068491022 171.834114811 171.856594825
38 | 2.22717638692 10.4939006311 10.4990332607 10.7294611901 11.4985769534 11.7842138864 12.0613909468 12.2173994298 13.3077060417 13.7426522205 13.7444994156 13.8773566724 14.0747599905 14.306335296 14.6105792887 14.6706209457 14.8519848818 15.513877738 16.9280101832 16.9804584344 18.2428527231 29.7568886095 39.3190438423 39.5163039499 39.9740179235 41.2309572844 41.3703842637 42.7227458356 43.1719530016 53.476812953 53.9412985621 54.5003382336 55.865833881 62.6769253529 63.3335802754 63.7696528859 63.9959124477 64.0618250128 64.4413545968 67.0035501629 71.2940574205 74.0038404582 75.2810751296 75.4463912391 76.2635289859 76.6573136856 76.7707851116 77.9601364642 79.0636340555 82.441953514 86.7064529824 87.8144087586 89.6591565385 90.1184598597 90.3519113409 91.1077988078 91.901242802 92.0178380813 92.0511821424 92.0555846923 92.1197433546 92.1591275473 92.3077906226 92.7224819201 92.8850690485 92.9212283135 93.0247243003 93.5212777716 93.6348463362 94.0047937248 94.1137335992 94.3136424526 94.3511800682 94.5485487946 94.5899752412 94.7470666701 94.8348328844 95.1930728757 95.3124093661 95.3261648532 95.4597890078 95.6484841549 95.7892126778 95.8055721038 95.9879967148 96.0704648474 96.0785478331 96.1211822851 96.1359960646 96.1562465216 96.208977399 96.2289969446 96.2403361213 96.2428569883 96.3615838541 96.3986710176 96.6340404671 96.6470187795 96.6569632335 96.6660109733 96.8132941396 97.0125540783 97.0789212333 97.3186285784 97.4413682869 97.4819340247 97.5654980998 97.6599788914 97.6817833258 97.7148562376 97.714941779 97.88925991 97.9261302584 98.0626950716 98.0786939203 98.3221982722 98.609066116 98.678632574 98.8929883212 98.9508711317 98.9536915524 98.9628685921 98.9724404118 99.0048012509 99.1561404591 99.2131887813 99.2711571906 99.3890649917 99.4017266724 99.4178226983 99.4650299383 99.4735414697 99.4933090616 99.5631502932 99.5934324806 99.6403930378 99.6543495465 99.6659371729 99.6806208588 99.7969882889 99.8059381701 99.995036151 100.09582035 100.286888897 100.300112094 100.303757389 100.438231203 100.506199289 100.521913706 100.577639913 100.99455851 101.028615116 101.069745368 101.189647965 101.211917883 101.249969937
39 | 0.55924728934 0.721362810022 1.25213197198 1.84437614089 1.94651462488 1.98452541813 2.33351765971 2.34391678706 5.9179275154 18.3373983681 18.9179561805 19.0638949089 20.6573300502 21.9633083374 22.1405579401 22.5752420796 22.9600552706 23.2561948943 23.2671350678 23.3229121547 23.343147471 23.6742887621 23.7166754173 23.9220134148 24.0414453444 24.1212788389 24.186324644 24.3266345491 24.7599949474 24.8793542059 25.0491507493 25.4052821302 25.4107879508 25.4346721336 26.0887707938 26.4878478022 26.5099079629 27.2076720766 27.7894868254 27.9117971605 28.0137470253 28.2062893487 28.5673949949 28.5824239894 28.6255757335 28.640414835 30.4425067207 43.672879517 50.5140988942 51.6678384049 52.0734933228 52.2137515847 53.0060050202 54.1322520348 56.0802259071 62.5295984641 63.212952254 63.6866205593 64.3643307352 65.3355945755 66.4248872106 76.9023715432 77.4639088243 81.2029936312 81.6667960487 81.6875632021 81.8301110946 81.861960199 81.9836467197 82.0820002692 82.3502601713 82.3621351358 82.5718880057 82.7780635177 82.7889494586 82.802567145 82.8149671288 82.8729384529 82.9675163416 83.1000640483 83.4558719059 83.612286263 83.8926077032 83.9761072254 84.1317172517 84.2638318061 84.2999278569 84.5627747837 84.6808941336 84.9749027025 85.0239478095 85.0479215521 85.1790942217 85.3679564642 85.4609754273 85.8671261026 86.237132352 86.3298647963 86.3334070208 86.4090047692 86.5469791805 86.5854167655 86.815173455 87.1583997813 87.3559805909 87.6897611833 88.2483390777 88.563438987 89.0601867072 89.5647018531 108.892930744 109.190397535 109.58086114 109.604133056 109.689443915 110.785292939 111.234993275 111.52528254 111.949153452 112.417570413 112.796541603 112.900070858 112.975523179 113.099903668 114.049018547 114.383352409 114.565177714 114.65128911 114.881872945 115.001202506 115.130756238 115.19126927 115.312694646 118.309852051 119.318856774 120.154145869 123.942802328 126.422704053 126.987360181 129.803643845 132.414578837 134.289115848 149.256482212 150.316994724 151.042116334 153.114977735 154.210923141 166.049338878 168.055192626 168.157067257 168.921280808 169.249702504 170.329234042 170.818372457 170.943948099 171.548560363
40 | 0.199872142577 0.397056083086 1.07438704168 1.28122576498 1.4465458913 2.2556989604 2.5828982634 3.48852839131 3.85877709772 3.88807262554 3.90887962946 4.25201046758 4.47544231869 4.48070966576 4.86308826158 4.93767331782 5.34573782015 5.64210861962 5.91074922457 6.05861172782 6.19528733523 6.34285244854 6.75546273482 7.09967528566 7.65567478442 7.74407556131 7.76848688551 19.5824993666 21.5653036915 23.1674594594 25.8541411328 26.0006497139 28.9616499543 34.9076156772 47.083071648 47.9751664089 48.5872662065 49.2122828192 49.7124296825 49.7959715025 49.828993889 51.2790766927 51.3108138099 51.6062807524 53.2531094796 55.2724392947 58.2834417663 58.5481377645 58.7142189263 59.2500889686 59.3794824164 59.3842370979 59.7472414794 60.0270611264 60.0503597976 60.0579794774 60.534753331 60.9238319355 61.0692649702 61.593498277 61.682945357 61.7032851843 61.827653549 61.9803157834 62.0004768116 62.1627944607 62.164851216 62.3023040372 62.447133886 62.5076172814 62.6756667713 62.9761607862 63.1041717553 63.2669155356 63.6448965758 63.7645546202 63.9066209824 64.4235503018 64.4555181034 64.5804669206 64.9354228166 65.5304249135 65.7803128289 65.8466416904 66.1423120666 66.2770241649 66.3320054457 66.6492434497 66.7903155453 66.8419183333 66.8612269542 66.9230113641 66.9543744843 67.0258121158 67.1396381808 67.1816910848 67.3038275457 67.3444640398 67.3518153038 67.4340140357 67.5468108201 67.6265975368 67.6645960338 67.7432358881 68.0525301423 68.2456024712 68.259067945 68.3136644376 68.5195439576 68.5926578963 68.6913228126 68.8825742949 68.9116286345 69.0132121099 69.0196094387 69.0879266785 69.2215137342 69.3785487395 69.5063594038 69.5706342862 69.8884182652 69.9364128701 70.004175113 70.0593957733 70.3895738199 70.8635161437 71.139295157 71.4029919281 71.4617278982 71.5004676397 71.6102057856 71.6137677143 71.8396982794 73.2779803974 74.021204918 74.7666703828 84.1038004415 86.3271068741 88.2355075415 88.6688785175 93.3154928035 95.8248176495 96.8456400712 96.9587311534 97.5847455175 97.7801761601 97.9332338154 97.9840817495 98.2772220726 98.619824836 98.8369212105 99.0253856816 99.4639724957 99.9572240154 100.031968811 100.675046416
41 | 1.18257334187 1.44033164667 1.81288364236 1.82298307462 1.8507316362 1.97468491298 2.00604301631 2.16775701039 2.34066100136 2.61324255796 2.68507264319 2.68638438392 2.8660287616 3.26616655268 3.35528013991 3.54281142988 3.59901193864 3.98051432175 4.19087145601 4.5011905002 4.56798915345 4.6325242917 4.68917301315 4.71958367007 4.72655959451 4.82214749132 4.92400913679 4.98882815177 5.23089901333 5.45280703141 5.67380341548 5.72514977949 5.80984687314 5.8444388959 5.94653099783 6.30579244437 6.81981088838 7.05012071209 7.15785082053 9.24480367939 9.28218402341 9.52967191795 9.75422708356 9.89972147869 10.4679279554 13.0405208194 14.6603303374 15.1852136541 24.2626131136 24.5033404808 25.4107088038 28.0532783518 30.9214473582 32.8689755224 33.1151564368 33.2910427669 33.8322278509 34.0042218014 34.0500196798 34.900188652 36.2834439281 36.5907981583 45.2307534691 49.02550705 61.3871888223 73.4834744502 86.0255142434 90.7276286685 91.3372991002 113.301943186 115.646560979 116.271892891 116.384137988 116.697460784 116.850363422 117.107351203 120.807284951 121.840250212 121.878954254 122.213924686 122.25343096 122.550913743 122.771408988 122.772858495 123.284389628 123.453800561 123.887826683 124.439384987 126.072199106 126.633238295 127.046662486 137.695138361 137.86069663 138.433897576 148.373079788 152.84280266 153.410238469 155.545927515 155.775472093 156.047200851 172.481608592 173.068173952 174.167953093 174.289785141 174.434301568 174.938566742 175.014337383 175.928111543 176.559903838 176.818126266 176.834655321 177.68641128 178.286550575 178.52646097 178.592093196 178.888974779 180.511527968 181.645847973 182.045679039 183.071511631 191.030972749 191.151210237 191.368406742 192.996430657 194.219890293 194.32024637 194.713497003 195.291377817 195.373096854 195.846212665 195.890704811 196.293261089 200.403110019 202.451607157 202.499180799 203.015317112 212.634611213 212.637678576 234.776538387 241.507375188 241.546538284 241.681100084 242.484683498 242.710719076 245.631189611 245.821640909 247.240074124 247.24993704 247.268217888 247.735493636 248.170893449 252.023137178 252.137938973 252.20241249 253.745020225 256.987463692
42 | 0.0159024383611 0.555063289081 1.15506874486 1.190106483 1.88499906343 2.00358684991 2.16465659456 2.20306225358 3.2280203837 3.48285257521 10.8110133023 11.2280669929 11.3714873281 11.7711052736 11.8554863889 11.9348052255 12.007920447 12.2052429027 12.2304897038 12.2424477998 12.2532928378 12.3504289765 12.634087824 12.7376316032 12.8597558226 13.2015951096 13.2296739 13.5501309923 13.6417803315 13.6697973927 13.6736259875 13.7126780147 13.7521125662 13.9231732934 14.0101185207 14.1197387545 14.3623440489 14.42837786 14.5926017272 14.6151390497 14.9658166572 14.9914300149 15.2803652023 15.3943357858 15.6480572664 15.6990517884 15.7550957613 15.8710999205 16.1652489294 16.3865533311 16.8785498074 17.1187349734 17.1754616326 17.3785662709 19.1075959843 19.5434921261 19.5969196845 20.0399940009 20.469822647 20.6165075877 21.2816474619 21.371661234 21.5223213716 21.6659666978 22.1413076311 22.38155222 22.4572155944 22.705447638 22.8050347852 23.1479050243 23.38693602 23.6425243268 23.6447045815 23.7473570476 24.2628898193 24.3749939575 24.4774741831 24.4858976327 24.9137407244 25.0056080795 25.0278470254 25.3666592183 25.5757428003 25.6209148645 25.7389522324 26.7799889495 26.9967772798 27.1835267453 27.8368333728 28.0390864626 28.1694070841 28.4815266457 28.5860023921 28.5908896824 28.9463742582 30.079825345 30.1876788889 30.2603594044 30.8624737798 30.9103391797 30.9223853839 31.0007726231 31.7827136995 32.1146503619 32.1376941478 33.0843134433 35.750872966 36.2430553019 36.4681365316 36.5007101188 36.590576278 36.8457375591 36.8813346041 37.2452665578 37.4007956644 38.2211034488 38.7340757135 38.8526060143 39.1261178824 39.8160873445 39.877041844 39.8957147522 40.1165642064 40.4944672943 40.5697010613 40.9408073457 45.5696404215 49.4524298376 49.5022838423 49.9487814233 54.8726282168 69.8995676178 74.13579872 74.3798102118 74.5922082852 74.8045272584 76.9544988946 77.472127912 77.4988494746 77.5031883734 77.7245156658 77.7753147421 77.7860738472 78.0323274215 78.2675474359 78.4734651157 79.2268411895 79.3104427592 79.3852639802 80.2574587811 80.4899123709 87.1989934007 92.9544436499 93.0533541043 93.1267066318 93.307778619
43 | 0.137595476714 0.153557547004 0.801081962127 0.832618378699 1.28115710126 1.41293803851 1.62001954745 1.6709902822 1.71701537304 1.84499467854 1.98598152885 2.01929599971 2.2439693808 2.37906907413 2.5740530107 2.73933585687 3.03203036076 3.52007046049 3.63059920477 3.7173619846 4.39315871103 4.52706556937 4.60084987784 4.69514849926 4.79401832721 4.86437923435 4.95777665226 5.77481407496 6.07010472477 6.27790921261 11.0533572116 12.5346027702 19.0861178986 19.1333551321 19.5259526075 19.6134861329 28.7477654399 29.1798367046 29.4893674571 31.802704942 31.9532044294 33.9595738833 36.2373141168 37.9759346445 38.1052153008 38.5055735331 38.6092101167 38.641013506 38.7779364606 38.9380739748 39.5284855276 40.6543013933 41.4125193481 51.7926213955 59.0049954635 60.0809751494 61.6319940474 63.9947337047 66.1183570299 66.6380894965 67.0927559948 67.282737625 67.345816674 67.4215922381 68.2088830663 69.088648003 71.1216526283 71.3707096628 71.4597447517 71.7185140706 71.9440272547 72.2967529166 72.6895409449 73.5343807231 77.5167892378 82.8992706439 83.3915358896 83.5442319885 84.2076021366 91.6584439369 92.5459973151 93.4701738591 95.1439264028 95.3589733778 96.104620042 96.7364379935 97.1206415874 104.579177352 107.105169445 107.198579368 108.564206895 110.467573678 110.941353537 111.067730175 111.697640346 111.826733373 112.007087477 112.287448786 112.329009213 112.71416038 112.741334183 112.75653691 112.760978388 112.762889914 112.819334587 112.856754838 113.059633269 113.11815326 113.151860237 113.468695297 113.476373313 113.478822863 113.483746994 113.562410388 113.58865682 113.594651757 113.596788603 113.687278759 113.858399752 113.906215909 114.035992153 114.074827631 114.204554384 114.351733536 114.497040365 114.605122242 114.753903714 115.089229024 115.218601082 115.237312129 115.253830476 115.664611711 115.676316937 115.776781598 115.817739859 116.068628401 116.124468872 116.292243504 116.309889478 116.577619569 116.662376958 116.760603816 116.853710708 116.982240499 117.197863214 117.28267104 117.348959435 117.834227804 117.86763349 117.954815082 118.274258901 118.278203888 118.592942943 118.669089113 118.732174767 118.736487416
44 | 1.68414154019 1.69344258738 1.9434985379 1.99760636126 2.22761437614 2.35864607175 3.69981005018 4.69268892339 4.75907964114 5.0709408665 5.24703661098 5.26550503817 5.28633977109 5.34561573369 6.56322837927 6.98189986017 7.05090712034 7.66447039184 8.37390104383 8.63070460394 9.06501213339 9.42450197339 9.43730550259 9.63972189969 19.3266611216 19.9704927418 20.6014229112 21.5498771543 22.7366063145 22.7870649558 23.0407693904 23.1665884475 23.3168988462 24.3580569126 24.8056839169 25.0289338954 25.2824393775 25.3529097223 25.8907197589 25.9014439653 26.0137484608 26.4922486525 26.6438567881 26.6623234693 26.893822306 26.952036308 27.058131506 27.0850800385 27.1105962493 27.2181598776 27.271543953 27.2884764338 27.3200182462 27.3232288968 27.487414888 27.5856989936 27.6594960239 27.671781642 27.6817408214 27.7586745915 27.7824733189 27.8160809487 27.9652347707 28.0064593333 28.0086219143 28.0735383575 28.1180359751 28.1406202763 28.1628436245 28.289238734 28.2910766343 28.325315947 28.4369062671 28.4768689066 28.5143691529 28.8057589211 28.8576340274 28.9396718999 28.985608692 28.9903674208 29.0087778283 29.1848862566 29.2504282257 29.2876468399 29.4321196044 29.5757536344 29.904587994 30.481408914 30.6899083111 30.7003159972 30.7233573668 30.8024015041 30.8274923202 31.1494884444 31.1764481651 31.9518828641 32.1448112928 32.398914383 32.7495426699 33.9010085987 34.7124776934 34.8668527192 35.0145475573 35.2300291555 35.9199991362 36.2766517241 36.3079705265 36.5680440259 37.1024126775 37.4364723448 37.4732772112 37.8748790392 47.0957706105 49.3008953203 49.4588920374 55.2818707983 56.6630878159 58.1395430874 59.1484099245 60.3187481884 60.6876244086 60.9086872021 61.6484928143 61.7923158822 61.8104798295 62.0386553888 62.3149521568 62.3414641681 62.3594328807 62.6983149263 62.7813419969 62.8299944459 63.6514695416 64.0549478834 65.5571055729 65.6762197835 65.7490772749 66.0407784643 66.049792495 66.6503157536 67.3121824651 67.4344293762 67.8019495239 68.2229785673 68.460488587 69.2622160322 70.1031839553 70.9120560282 73.6217124781 73.7578796206 73.762316074 73.7912539541 73.8145792466 73.9009429176 74.65798527 75.0818709757
45 | 0.279246011618 1.78145123656 1.82246721094 1.95560708972 2.35261368804 2.67072239492 2.7454864977 3.2385528056 3.4980532449 4.98882778386 6.63699086438 7.6052170435 8.02188386158 8.58485738047 8.67604562757 9.54258764215 9.79522217032 9.89037759235 9.95466488057 10.1671955524 10.4609214113 11.6373309128 11.7308409399 12.0597495286 12.6894498888 13.5242114157 13.6277895318 13.6282566031 14.0869159465 14.0958830256 14.5445629554 14.678558245 14.6879474963 14.8380550928 15.188381543 15.6899393282 15.7001271921 15.771563177 16.6432884685 30.7830346287 37.8526485519 37.8694520844 46.8627464897 52.1854878987 53.5199543754 53.9433816441 54.6407790621 55.9829227235 56.0905236609 56.8743241421 56.9883296754 57.2214026943 57.5903459822 58.6433850313 59.0117166407 59.121549259 59.6173331124 59.7090085484 60.807499111 60.8185524315 61.3593200896 62.1070246206 62.6042678886 68.6347143114 72.7057222517 73.2461450449 78.7206380975 79.0453124478 90.6424587258 93.6142465732 93.6158623672 93.8269817879 94.1953585899 95.062892677 97.0209051651 99.2000261004 101.620667528 105.973516782 106.424502777 106.649058279 106.93811193 107.594598051 108.187141131 111.517193584 111.563692679 114.089762502 114.479299774 117.853341113 118.812194476 120.964837499 136.402497236 136.951243893 143.289385289 144.517192673 147.527215438 147.977435333 148.444939457 152.97856947 153.015163697 153.02268756 155.040892091 155.409693724 155.513735033 156.279702064 156.646470035 156.647781664 157.312971622 158.020140409 158.559667402 159.559743238 160.69714867 162.072895121 162.330341426 162.37869717 162.611528319 162.628280995 163.416542106 163.922926362 164.089427756 164.380254123 164.440293721 164.475675121 166.522682888 168.566313292 169.032770888 169.241934931 169.836175881 169.964412497 171.886560532 176.199660091 176.7877055 177.785181708 178.240633246 179.024608793 179.179717484 179.584814437 179.804098741 180.848126465 182.896514448 186.755044131 186.891761952 188.664762248 188.893080051 191.751302035 197.162583493 197.214275006 198.224217906 203.354214931 208.142326102 208.654998589 210.413296728 211.551222128 214.614146411 215.254312755 217.309100132 225.603985702
46 | 0.314949885927 0.703309961726 1.83972950956 12.8075203031 16.3739316281 19.4607817098 26.1002964957 27.5902739929 27.5986063302 27.6977218442 28.0766926545 28.2255037499 31.7015323927 31.9375308618 32.7480378622 32.9259019674 33.0390139613 33.6356649756 33.7712939192 33.7739827858 33.802223516 33.9315324789 33.9444097845 34.1115635473 34.2737177318 34.6098312074 34.6778342316 34.9062939614 35.161606801 35.181527215 35.8472624931 36.0146059624 36.2196178109 36.7018858563 37.0162955362 37.2737651502 41.1593907499 43.5103984041 43.5850318652 43.6557270527 44.2629993129 44.5411069164 48.2532222415 48.4203396038 78.6109232098 79.8034488915 79.9152233078 80.4094063928 80.4176172478 80.5744513308 80.8470252543 81.015465847 81.9516193066 82.3423859566 83.2040636915 83.2063920266 83.6209671143 84.8783329781 85.0561436099 85.1889808009 85.3769475246 94.0440723655 96.6785200224 112.735173097 112.788341304 115.636611579 115.91959092 116.394306981 122.581726905 122.828550948 125.236097411 125.42963256 126.114976799 139.978462255 140.195059405 140.229731218 140.588663915 142.174017302 146.345737095 146.728981391 149.59711483 149.653185275 151.85889609 153.707040763 153.755614738 154.634405524 155.723762645 155.934629811 156.144444339 157.096825548 157.614975357 157.633266891 157.656566496 157.819250536 157.893048419 158.198615955 158.982475613 159.251427035 159.29814412 159.456329932 160.501031271 160.640037292 161.064998597 161.164290986 161.336743246 161.373966918 161.447366099 161.632050339 163.074030935 163.625818647 163.649672225 163.734064409 164.068938519 164.130432454 164.347747759 165.324635455 165.591646787 165.767146224 166.219140058 166.51808933 167.376169349 168.287377285 169.42746691 169.561307017 169.578062016 169.730126009 170.753471182 177.651078257 177.722210605 178.291143415 178.299112606 178.379906227 178.456955225 178.462445729 178.475522934 178.751967002 178.981889776 179.165261522 179.299432216 179.40416174 179.498273982 179.575456951 179.733167383 179.805729965 180.600342961 180.791481675 181.073753871 181.123154067 181.508146433 182.496771422 182.822328287 182.825127107 183.149966775 183.171627375 183.274229883 183.549549969
47 | 0.153649894579 0.590029368133 0.882858995508 1.91800107551 2.35835180859 2.63316823296 6.3043748792 6.37310940119 7.10978767922 7.15563313474 8.04646349057 8.16216926885 8.73541930826 9.1984367905 10.3127531385 17.1860316401 30.0671136914 35.7071493123 36.7677246904 37.1628567466 51.608517474 56.3094873363 56.6193306178 59.0180918142 62.2323320322 63.0075757129 63.0465655852 63.3179123911 63.3472115772 63.4915938867 64.0491276639 67.4638664693 85.0549985429 85.2374644895 91.6400884541 92.3250944817 92.975017728 93.0337245964 93.2978618361 93.3765199529 93.5189638035 94.1545200543 94.7725772049 94.8421317715 95.4621675796 95.9933640354 96.1865882226 96.4249610887 96.4309381334 96.7199625232 97.0142914515 100.156269258 100.745872438 101.115530829 102.613517402 103.708699875 103.83282482 104.029648551 104.183814079 104.311579477 104.716377394 104.993904927 105.331488666 105.44126884 105.692210173 106.169968263 106.312468584 106.554008343 106.596468494 106.605561182 106.84220335 106.917915068 106.937585804 107.049891433 108.924988678 109.048943187 113.950304689 115.810781921 127.547303089 128.006237008 128.473551308 128.63636754 129.661414216 129.774597592 135.436810649 137.173701941 140.22132443 142.734120677 151.661148026 168.802673604 172.640606391 173.759879964 173.837624747 174.014464838 174.222902302 175.204504934 175.420917258 175.7502696 181.189562708 182.965092846 183.533574226 188.482936426 196.050464393 198.300840289 200.423146351 202.024647983 202.066653662 202.172967989 202.308901791 202.92383479 204.030096769 204.222220219 204.296434585 204.711141523 205.189183608 205.807246987 215.727857995 217.602808794 218.198211116 227.003813965 227.660973506 230.204277668 230.511641209 230.556267756 230.63436377 230.77963879 230.980112946 231.064416907 231.086268813 231.778722632 231.914114731 232.1149381 232.186287097 232.663047729 233.701815393 234.099171176 234.284059682 234.438822698 234.847080985 234.872635586 235.325990512 235.678047506 236.844149937 236.844591672 236.861060511 236.880308516 236.966186679 236.990054374 237.381862915 237.445366471 237.64606173 238.237414483 238.383322126 238.485060059 239.046687018 239.089008815
48 | 0.231173482476 1.38761582001 1.63962332254 1.95164898253 2.15298879691 2.1732308037 2.44278661207 2.45436389366 2.95327892306 3.02245838421 3.03511252861 3.39163196257 3.45298369773 3.69076389889 4.06614165382 4.1389850649 4.17416303458 4.20853953708 4.44932421153 4.72114587431 4.76943853166 4.9744185724 5.18875722164 5.66329420375 6.17818471509 6.44109191776 6.48812123 6.51634926428 6.55692761351 6.58416052883 6.96514204727 7.5097290086 7.69004968794 10.1992381341 10.7343044413 10.8982857056 11.4576861228 11.6368548325 11.6805587622 11.7671694002 11.9911822567 12.096677275 12.2869445101 12.4639329422 12.5244716276 12.7819369888 12.8771000826 13.0860009617 13.1982666624 13.8976476138 14.7874874538 15.1416318604 16.6022204419 17.4561687535 18.0188078736 18.7870353528 19.3132735247 29.1760763872 30.3358270642 31.4345601206 31.5040515773 32.0417260963 40.7355850579 40.7994637089 40.9501939217 41.1863368505 41.4451337991 41.8388706474 43.449309158 43.9867375486 44.4092676797 44.4635930076 44.7575859347 45.8880201152 46.0712682487 46.0759640945 46.122951182 46.1523560277 46.2679671335 46.3833001568 46.798330708 47.1118967594 48.1634977613 48.43601914 48.5537487412 49.1695174246 50.180866884 50.4623664965 50.558581913 50.9804482394 51.2961329965 51.7101361494 51.7846665504 57.1076443523 57.9279953812 58.1650880204 59.047443134 59.8367688655 59.9766589732 60.8201613481 61.0339435655 62.4245199763 63.0599825068 64.5221381752 65.7217249271 66.0276419678 66.1230172737 66.4769473934 71.6783407789 72.5425612729 72.7735994142 77.667561872 77.9835480272 78.3700095344 78.5333962435 78.5381160375 78.5938080447 78.6191335948 78.869809192 78.9513121799 79.1062935104 79.3679321187 79.383725672 79.6454138935 79.8371406194 80.3817224532 80.4217941622 80.5535364771 80.9604454812 81.6231793782 81.6622569965 82.1484413251 83.2472964079 84.1425021409 85.7711056431 90.7457193004 94.0231547106 94.9998742392 95.7112824989 96.1403869867 96.1476261694 96.1745678865 96.7329530911 96.9359842176 97.1512437007 97.3742816167 98.2674498122 98.5689625945 99.0328836148 99.1386459898 100.125372916 100.718767884 101.18171447 101.676916172 102.555360429 103.214717845
49 | 1.20198522935 1.49355922716 1.58510044869 3.04389939042 3.62372679115 8.84298707866 9.7261848489 9.90250020371 10.0031908359 10.7586678169 11.6416990398 11.6688580748 12.4827079843 13.3448514467 13.9868169937 14.8870618397 31.9115569194 32.1380309231 32.5888277398 47.5049707787 47.6241749957 47.7176690384 47.7533057793 47.808106039 47.9253187287 48.0049352406 48.1213744796 48.4625662587 48.5929693668 48.7872693016 49.5931050486 50.7167228779 50.7255535507 50.9011160033 51.2433871591 51.6332433068 51.8076486051 51.9721873243 51.9761754345 52.1079030049 52.1209789722 52.2327726648 52.5000365596 52.5221467833 52.5806513581 52.8661414956 53.0966694134 53.1471527272 53.1637471638 53.7377932003 54.5467339489 54.6266133538 54.7371697916 54.8287529237 54.873326332 54.876089275 55.1015632894 59.2520047699 60.2013729616 60.5305934083 60.7583343509 60.8446322795 61.1640031746 61.7976246828 62.0932281431 62.2224107932 63.2100392053 64.7037338328 64.8388129768 82.5219483111 83.5678312276 87.3128786431 92.8806212221 99.1651319835 101.350416285 101.509518893 101.60650783 101.915259003 102.711706982 106.898982231 109.355538056 110.466127814 111.561552622 122.417121287 130.502176923 138.450424857 139.345841625 147.633880518 149.054574108 150.386782821 151.175227951 151.367933526 151.432342971 151.44208075 151.728688209 151.743885102 151.919698195 152.023969776 152.131117481 152.651506078 153.319722956 153.901727681 153.911106693 154.18079436 154.522727173 154.541934734 154.690440519 154.737872181 155.09971351 155.312934876 155.529341889 155.726364175 155.84542778 156.045564726 156.222162813 157.257085805 157.773710557 157.937151398 158.860005808 165.614384584 166.550789297 166.628045921 166.825014881 167.156596217 167.412437809 167.619577805 168.627054099 168.810571349 169.502501222 170.627179675 171.510333068 171.628199815 172.125328 178.274161171 179.797539176 182.071138974 188.223924405 193.023958767 193.153876495 193.676790104 193.968861687 194.794227936 194.911701844 195.627883945 195.66417818 196.851867386 198.431947292 198.689463215 202.320665484 202.463573557 203.986655932 204.444377624 205.502514415 205.791223242 206.001926753 206.578055625
50 | 0.351491641763 8.5958869755 8.78983924323 9.76416961628 9.79985553068 13.5993796084 13.7412419635 18.528957847 19.730003902 19.9100085429 19.9387044485 20.1384700662 20.1744805246 20.4358534393 20.4876160388 20.5994512566 20.8641298314 20.8778762845 20.9980952899 21.5487662338 22.3043076004 23.7299859498 24.6129113456 29.994106472 34.4462834859 45.456281727 46.7168090781 46.8029317004 47.0448696403 47.8020125473 47.8095440473 48.1393896781 48.1748214359 48.3259464772 48.5395992331 48.541868922 48.6027161165 48.7040959865 49.06951963 49.0823926547 51.7162097126 51.7903594113 52.8389857519 53.567288257 55.5775858129 55.5916427827 56.1135639532 57.1426932441 57.7924652235 69.4675020942 70.9156684202 70.9485134265 72.5535529827 73.0059193157 73.6778428462 80.6464402052 80.7147393637 82.6715072327 83.583013795 89.9887852999 90.2177877071 90.3281231303 90.4412133511 90.5652832705 105.62109835 105.894341965 106.092016896 106.170854576 112.659306924 113.455596009 113.99862194 114.564903596 114.613268906 114.674723882 115.407936234 115.728902213 115.951255409 116.05379971 116.162425339 118.270368255 121.839134814 122.452987932 124.299631914 124.84739756 125.30934247 125.751262408 126.258671714 126.793111491 127.817137383 128.169049802 134.999048845 139.974889753 140.152615212 140.682831178 140.712425276 140.851999381 141.016189029 141.068537721 141.186976292 141.198779512 141.521787703 141.774350785 141.921813486 142.025525091 142.032683715 142.036156489 142.10243504 142.157911904 142.284745595 142.337761366 142.479586274 142.787416387 143.215105146 143.228490763 143.343025184 143.413653268 143.467084488 143.53931119 144.032471587 144.054358338 144.075461702 144.230506038 149.138062919 151.941431928 153.743785841 154.666537408 158.246406096 158.613174471 159.386136106 160.984373115 165.055048522 169.102840507 169.146024371 169.269134666 169.406122959 169.421034116 169.720214995 170.039653853 170.260485716 170.285480579 170.377492868 170.540840772 170.572688824 170.637695816 170.896802184 170.915463753 171.021008349 171.139344913 171.247124611 171.559223026 171.634120125 171.681385741 171.921352545 172.041386848 172.043318091 172.092900866
51 | 2.16980721158 6.80965312324 8.16714437927 8.26186190618 17.6579952558 19.3650214162 19.4057422487 20.3530597051 20.8768156014 21.2444118883 21.4529583069 21.7033844968 21.973041937 22.9505759839 23.2372916547 23.2432251489 23.4262307294 23.5280978443 23.7282201687 24.2027826806 25.961911966 26.3616457721 26.427800905 26.7750308704 26.9656769668 26.9701160012 26.9730879377 27.1676187922 27.3092996736 27.526692925 28.1844201696 28.3395186703 28.8085433817 29.9064271601 34.2342384697 34.2620892176 50.6404652531 50.7163140687 50.9118739326 51.5383451361 52.6966036323 52.8688331554 52.980965661 52.9917402504 53.4447039484 53.8070881886 53.9568793318 54.146241244 54.5087595759 54.6248411687 54.8088020261 54.8842980511 55.1262707604 55.5162460495 55.5659569108 56.2564934593 60.5237462415 60.5566685697 61.000491335 62.1294803959 64.4099882746 65.4322454832 66.6580729457 67.4643246622 71.8667187144 73.3790444978 76.5130120939 78.3423342459 78.4046109196 79.5792073224 90.5859875337 90.5989458091 90.6631282478 91.5898605278 91.9535227074 91.9811598426 93.4511274193 94.0827817431 94.6479673116 94.9414388051 95.3550732914 98.4036207441 98.8429909336 108.398324173 111.456644738 112.414806423 112.473195027 112.769535962 112.769858104 112.991297338 113.021298057 113.271094153 113.530560822 113.767457176 113.794912539 114.12513373 114.183208003 114.620101511 115.038969532 115.426441642 116.125906812 116.844589985 118.997362669 119.506579469 119.733546523 120.127102501 120.163046933 120.438500153 120.501853075 120.536126933 120.688414195 120.701363678 121.403272841 121.723701499 121.786555318 123.222946374 123.584694884 123.836083363 124.233212553 124.301192404 124.898684774 125.250849237 125.75077327 126.150299675 127.934210373 131.685025438 143.03706466 149.01256692 149.06247003 149.435567839 149.574862067 149.676894677 149.688862611 149.923804579 150.237770551 150.28948595 150.505066295 150.526068854 150.627780151 150.864263625 151.138003824 151.475581604 152.910257692 153.571373936 153.576907403 154.199290999 154.20689814 154.257869644 154.870973817 154.939202097 155.213034311 155.498023579 155.804392964 156.221753047 156.404777846 156.675517281
52 | 0.0323012622102 0.0665894167905 0.268542795005 0.402789002052 0.40592084227 0.46199734525 0.469266495842 0.543511413242 0.681669871701 0.756301876463 0.853514806964 0.875496434091 1.03275534451 1.06583323052 1.11593510455 1.14194321592 1.2751459273 1.28134588541 1.48240080097 1.58981362778 2.0248467799 2.10269829484 2.12719746774 2.21151286789 2.2755692863 2.3835484767 2.40673507826 2.41169412233 2.53997008067 2.58374525486 2.60562772804 2.67517003015 2.7414205478 2.83646354164 2.91992421715 2.9846819685 3.16285842335 3.19064908556 3.25010945695 3.56891862395 3.64285256811 3.72932924128 3.8397517729 4.47367502852 4.51613009088 4.61523988163 4.63215894817 4.64269507861 4.69982554705 4.72604580583 4.7366704559 5.07458683428 5.1451324019 5.1792224121 5.24841026863 5.38138113201 5.5656317977 5.82636704098 5.90600794987 5.93100835879 6.26278649538 7.03671742715 7.78171440423 7.97601609307 9.1342780261 9.16034829637 9.26708566488 9.64410824323 9.64759115863 9.76795494334 9.77918587501 9.86658463658 9.94557447689 10.0394687501 10.0654521176 10.3844984702 10.8995640735 10.9455645266 11.5729902642 11.5857828052 11.6808931699 12.5130282298 12.6541656239 13.2391100455 13.3111458633 13.3557366886 13.5496034994 13.5684092484 13.6241602001 13.9828534031 14.3459177111 14.52437472 14.5456922157 15.2888185551 15.5749975807 16.3782346212 21.3226016545 24.2651076631 27.9550382171 28.6380798092 29.2446469976 30.3566096361 31.0349675327 35.8097083597 36.2714126866 36.4404458321 53.3498113254 57.3571020698 57.7652472298 59.9923085243 60.4522312011 62.149522763 63.2275632075 63.2405551917 64.0700528441 65.4907023216 70.2870106284 70.9484538958 71.5500733833 72.1446178285 72.3180543315 72.4320238724 72.7141886829 73.3304947643 73.6532741413 74.113181903 75.3673709571 75.4628851063 77.4318454214 78.1039537403 86.8108247898 88.8370908337 107.071708562 107.111150759 110.488454088 110.638611645 110.639135756 110.854748547 111.001415123 112.01234333 112.210780076 113.506349612 114.090024356 114.532879408 115.004593585 116.21327015 116.441363619 117.438519556 117.789889927 117.959182431 118.044208998 118.140040088 118.343185303 118.583187667 118.948209471 119.398024894
53 | 0.523139876983 0.605485341322 0.858759262803 1.84665787945 6.50861254812 13.4781952637 31.1471920037 35.3782817633 35.6562315443 39.4897147064 40.0780865427 40.2596375779 41.5021989089 41.5860978049 44.1724827973 44.5043052611 45.2451467127 47.4903802391 48.2276854517 49.3252923414 50.6869600766 51.3381175917 52.0791411813 52.6795614258 52.8236440245 54.1732212978 58.1531149487 75.2670022695 75.3321250456 78.6468638527 79.7185969749 81.2484739167 82.3071240893 82.4498480089 83.2636553877 83.62670356 96.8823152586 97.0112796424 97.1493112381 97.6123768561 98.2927301548 99.016373216 110.231208496 111.115237326 111.197772929 112.441069348 112.58011383 115.191916534 125.260085078 126.692802422 127.142512026 127.371822663 127.561324376 127.690996913 127.731182799 129.082731568 129.271888033 129.690330782 129.772168852 129.99578787 130.1989962 130.315355987 130.807034396 130.888240957 131.189718598 131.359379898 131.587309638 131.650750377 131.807295121 131.821693235 131.863447524 132.042414354 132.088979083 132.245608133 132.288603187 132.351750112 132.359669121 132.365467687 132.399948526 132.571947466 132.901772555 132.93883488 133.06832284 133.241583383 134.160660722 134.206095117 134.260970523 134.499767561 134.646492184 134.700889718 134.766198665 135.000566427 135.106619234 135.131695551 135.277498567 135.61048747 135.641340091 136.012842599 136.15731671 136.55794265 136.922919636 137.751754386 137.863985157 138.212425394 138.377513295 138.459040647 138.531824989 139.335389643 139.588970041 139.754111009 140.397370874 140.948854884 141.743198465 141.940400175 143.378297594 146.497969461 147.577007337 147.649812018 147.818330933 147.866674648 148.065615589 148.201504236 148.531901374 148.54595628 148.558292342 148.6060331 148.994437906 149.074733248 149.340642288 149.945702127 150.216574499 151.970280878 152.003318313 153.110375702 153.540251844 154.472175967 155.248490508 155.827896903 155.924420516 156.265997569 156.313327377 156.971475631 157.011365856 157.909112452 158.003947972 158.046759497 158.334529208 158.597155017 158.732954447 158.81602613 158.846970628 158.902564409 158.960827915 159.063790668 159.08731049 159.162103434
54 | 6.85977517111 8.08400005888 8.39517451113 9.27603013086 11.4302950526 11.5915443471 12.5530658749 12.7861244719 14.3716758899 14.3969263319 14.6454939493 15.0513920157 15.1141510121 15.335729905 15.7837533541 16.1531483906 16.2421523577 16.5250817744 18.1629333815 19.9571131811 21.4814141655 25.3628133546 26.811776473 27.5080388338 27.6636875544 27.7769660131 27.9170678501 27.9344821056 28.5563404587 29.2680190796 30.0175162465 30.1866842071 30.6672712327 31.0482217157 31.3510008143 31.7158068867 32.3288908268 33.1914389015 33.3839235899 34.0959863751 34.8094267467 38.43338691 45.1603132898 45.7154089429 45.7393771179 46.4730432297 46.8160945704 47.1021748853 47.4999827529 48.4155343789 49.6680130937 49.7468155544 49.9148294139 50.53582029 53.0639383448 53.0881583148 53.803517874 54.1539681856 54.2836818319 65.8253533963 67.7186951485 69.0978785407 69.7510945797 70.4893364277 70.4902435983 71.881395522 73.0074335444 73.857098003 74.5283521199 74.73607849 74.79510446 74.9852553054 75.7876658478 75.8527469986 76.1662215073 81.3468426036 85.7152701584 86.680380053 87.0045663566 89.2919521725 90.540781733 90.5607816941 91.4837923468 92.1022227557 93.1673243267 96.9415886174 97.3793530918 97.7556202626 97.7891689484 98.2447292461 98.6756171476 98.6948580014 100.192069474 102.093718829 102.773982098 103.403949462 103.746983497 104.876608452 104.992222344 107.118550399 113.668333057 123.242041806 123.521180574 123.804029502 124.011806601 124.251002178 124.331522944 124.401913453 124.420752831 124.893951346 125.10346363 125.858527903 126.25645227 126.680076773 126.976229216 126.983953159 128.134144809 128.708246925 129.13260644 129.491544317 129.538602477 129.733047738 129.755861438 129.844624475 129.928473233 129.959749986 129.987738159 130.127422635 130.395706967 130.519774951 130.610913366 130.884696832 130.893333496 131.078879463 131.124121094 131.283701133 131.404910662 131.45929537 131.727800147 131.939983544 132.013271588 132.10056909 132.338933308 132.6807743 132.850243113 132.857822263 133.10025988 133.189041321 133.509611067 133.586983228 133.724466382 133.753370364 133.777340626 133.831848935 134.264596504 134.847057397
55 | 0.515667704458 0.873309969844 1.05383112397 1.25785402495 1.8102246722 1.93081119072 2.04587137168 2.10016617891 2.28703324971 2.60442986649 2.78059424892 3.11822335403 3.27235032975 3.33208545792 3.3410913469 4.12909812533 4.22155991648 4.31463434706 4.40337149252 4.41028801366 4.46789885557 4.82995757301 5.16915536959 7.42173140454 17.2676997952 22.8193703885 25.0123466316 32.715234575 33.6562100688 34.0215941845 34.3662744002 34.5873477456 35.2848424694 35.4421825219 35.7296645894 35.867788866 36.4472391238 38.4575362868 38.598507158 38.6163013219 38.8563573169 39.0715513284 39.3861614631 39.833662848 39.9033080996 40.2808871738 40.3177028546 40.635985779 40.7875331872 41.0269050558 41.0831056703 41.4194592761 41.7149357115 41.767041194 42.1605077547 42.1768145291 42.3435339219 43.3717645181 43.6481887328 43.6877705767 43.8416159488 44.4742538485 44.9730588621 45.974046765 60.0568115449 60.749516614 60.8761389892 62.4252856468 62.4587962937 62.5978715913 62.7903990132 64.5584919302 64.581678426 69.6252851128 70.8827342607 76.4736173136 76.6025279311 77.4185806085 80.8751224713 81.5327285876 94.6312388381 95.0608701094 96.3498889626 96.3802866344 96.6002452946 96.7274528331 97.3417422851 97.4364257192 101.527289235 122.766680498 122.790941146 123.481063581 124.254076577 124.281257289 124.977711337 130.40716564 130.47280915 144.057835254 144.663071105 145.310696406 145.792184148 145.990802958 146.068807613 147.734663317 149.498923586 150.324166144 150.903564931 152.789146801 153.352225125 153.382859385 154.299083979 160.737034656 162.131086005 163.021762659 163.774347678 166.840765793 173.642438553 174.058729424 180.526608635 182.286375224 182.558735907 182.691880085 182.853794897 190.569226851 193.945785866 194.028144928 194.08379006 194.842496779 195.776447078 196.190949809 196.637785006 197.202405547 197.815502484 197.899148237 198.398314521 198.6571635 198.703537277 198.719802289 198.786743933 198.818285932 199.172385016 199.352610908 199.390013365 199.658251373 199.806323442 199.852215158 199.890564269 200.004151271 200.107712562 200.160072212 200.22141532 200.270805879 200.463861172 200.564355354 201.412867833 201.445161664
56 | 0.215567173276 0.278790064025 0.369758984758 0.508429697467 0.675986274844 0.702100316339 1.03429041347 1.43059221805 1.77147845096 2.03337566757 2.2690029762 3.09631756836 3.46680740471 4.44561308493 4.50990953867 4.61525231105 5.42613653043 5.49941769021 5.63448401974 6.31210855655 6.43884708696 6.84852856246 8.31400769835 8.31591518837 9.08933179978 9.24618505062 9.5021891831 9.53591456069 10.6777821375 11.422097348 13.385085332 13.4528930539 23.3333961477 25.0094356911 27.4133994212 27.9190270735 28.1214670804 28.1580554727 28.7725419461 29.2118072199 29.3873623452 29.4764914931 29.602149479 29.6304292757 29.9336888814 30.0004703745 30.0051023517 30.1544663962 30.1825642626 30.4119075684 30.5391786799 30.7641623154 31.027439104 31.1008204911 31.3494197485 31.3581361399 31.4209692126 31.4667672206 32.0208160058 32.2484655403 32.7108828582 32.9090342896 33.0963749284 33.0989410215 33.1155694692 34.0654080742 37.4908994293 39.8327475874 41.0586734072 41.5457901179 41.7402651417 41.8693139352 42.6396711294 43.3294663408 43.8224076987 43.9585308868 44.2392506724 44.6893010055 45.6150343703 45.7186619745 45.9720622545 45.9853548583 46.0519447056 46.0961192504 46.2117137897 46.3496356476 46.3767517225 46.4555953841 46.4677073861 46.4686667711 46.5335769478 46.585769385 46.7754058721 46.9164742929 46.9637861651 47.0825971648 47.6875321508 47.7104374148 47.8294822022 47.9138031936 47.9614377299 48.1083508008 48.3716291224 48.6589784833 48.8024043066 48.8733258651 49.0275373678 49.1542614936 49.5092391814 49.549706818 49.7281702043 49.8037449761 49.8518556269 50.189775282 50.3108034917 50.3686746345 50.4246389829 50.4355217322 50.659203908 50.7727689505 50.7822745738 50.9101853473 50.9816838518 51.5029130846 51.8110236975 52.30348134 52.3836139492 52.9626280401 53.02556529 54.4967326234 54.9179212438 55.4930107173 56.7284967347 57.3887214147 58.0353893085 58.2182270174 58.2683800433 58.3690600628 58.6466042971 58.9429818056 59.2868840557 59.5463388062 59.5829529953 60.2207417344 60.3540535127 60.532504689 61.1996283044 61.4958165207 61.7564639389 61.8831995033 61.9965440403 62.3663844685 63.0023315299 63.3216057366 63.5905451339 63.6662652916
57 | 2.0709976137 3.74008709639 8.19418185875 20.30073995 20.8105256839 25.3911029253 27.2636058211 27.4407734787 28.0322548766 28.3599537429 29.1079280094 29.2665157687 29.3446773053 29.6147053367 29.6810527591 29.9349093286 30.4768598291 30.6283076814 30.7823110599 32.969476992 32.9814501604 33.1615610492 34.4096220028 34.4596397924 34.7294094235 34.9499107513 35.2315681765 35.7041636975 35.8526020567 36.7873611213 36.8014513272 37.0825947422 37.1706031635 37.2527173253 37.2983605112 37.3329490739 37.3351398001 37.7254840212 37.8266716184 37.9778043476 38.0390642055 38.5319875883 39.2733705849 40.2510550107 40.6841201815 40.8205072143 41.0173988491 41.9710441833 42.1438552259 42.7827160301 43.0378280491 44.2530521497 48.5386158062 49.1143327747 49.302340665 49.3359667973 52.3570922726 52.4456776233 52.8658778015 53.2212357825 53.4454831489 53.5589270881 55.2891485831 59.7744393101 62.9662180656 65.6299353422 67.4299708657 78.6103396548 78.9526339339 79.1093270784 85.9952206012 86.0346712343 86.3624376529 88.5162101828 88.72696964 89.3344268154 89.5078075152 91.5643479198 92.4504212831 111.614039961 115.975144383 116.209166485 117.171361197 119.845275267 126.448329887 126.678728077 127.514757645 127.587296972 128.297180092 128.828411277 129.659516761 129.960481345 130.626214504 130.66114685 130.794336692 131.198509247 131.200636288 131.291095875 131.331310652 131.519132081 131.936705616 132.027074813 132.330346654 132.519273132 133.095489753 133.192180282 133.582797938 133.789553884 134.23187157 134.528376254 135.209005253 135.257851393 135.570430659 135.681638803 135.766774428 135.884248979 136.157784087 136.30158662 136.34700735 136.8115816 137.695543123 137.813636644 138.385801867 139.504830492 150.387954412 150.639089037 151.60268616 151.953168714 160.929952492 161.297043906 162.807055165 170.976899686 171.327389345 176.526259924 178.041649389 179.43762242 179.773440839 180.051837824 180.898059479 182.387704685 183.467937276 197.528754482 200.353823547 200.358658111 200.815892484 201.798250646 202.022793231 202.093178785 202.863872238 203.281425242 203.750567714 203.861102247 204.251876966 204.887463719 205.07370132 205.568181486
58 | 0.388953425587 0.448360631533 0.512439846963 0.813149867055 0.837317887563 0.845788540973 1.26381324157 1.83665400185 2.31091879109 2.59174809806 2.92206349672 3.37700770354 3.46733122844 3.47471303467 3.73040570703 4.02816501196 4.26271853148 4.58864109238 4.92970098348 5.01748966936 5.10735808953 5.29653071398 5.40458849784 5.63230647745 6.26314480542 6.84989423219 7.15661619758 7.27587020352 7.58738361266 7.60774286131 8.67395825803 8.85040597995 9.09600638496 9.26116783332 9.53759419313 10.0966968986 10.2004157112 11.1296923276 11.2003918008 11.3644875182 12.0479348352 12.0994453754 13.0889368312 14.0375782423 14.4022156396 14.4386211519 14.8918888078 14.9556474309 15.0152821807 15.031800159 15.0611948164 15.0824417791 15.1688464165 15.9478052483 16.0366920524 16.5539446862 16.5591156841 16.8349211713 17.0540310694 17.0598275188 18.1772354518 18.19245605 18.3325496858 18.6407235661 19.3360770378 23.3200494766 23.3920400378 26.2840202928 28.5431081345 31.6886111465 32.0849902828 32.2799696548 32.7385628665 41.5713245771 57.7926078132 59.1476212612 59.5553333253 59.6067118061 65.0445688285 66.3428367423 70.8556210375 71.0828810693 71.6600019903 72.5607335262 83.1351895423 94.3006925469 111.599833518 111.968383644 112.462502133 112.726653418 114.198532591 114.292148563 114.764567659 115.043305746 115.201766633 115.690629235 116.642575218 120.740327161 121.215561298 121.346259896 121.551604878 121.835806017 122.081525881 122.154286518 124.617595014 126.615957434 126.954244499 127.117899094 127.120555456 127.800843504 128.704400353 129.991970136 130.719185708 131.6084004 136.077425743 136.200017195 136.307651286 136.938099279 136.954613382 137.531363005 137.60871413 138.191878298 138.265407796 139.104059517 140.174666382 140.772230141 141.670768382 141.799295654 142.152759117 147.161725364 153.752717697 154.00579028 154.071666307 154.467231822 155.689220633 157.312805777 158.750595211 162.598543987 164.221639372 164.264742175 164.512865398 164.865516777 165.147684826 165.279980667 165.513289317 167.019812078 167.04595457 167.423458588 167.486209654 168.23176793 169.036174094 169.197736304 169.227743305 170.720793447 171.488706009 172.624778169
59 | 0.108500608258 0.309601593632 0.425345242023 0.555337987724 1.03870322921 1.13375853287 1.26266403054 1.94386352506 1.9956645316 2.46015063235 3.14374835981 3.22591264351 3.47208179317 14.547105456 21.7426803348 27.9421765801 28.609835265 28.6210394863 28.7571419578 29.0050683508 29.5083845476 30.2329033263 30.2669179678 30.490303202 30.6686575808 31.2603222454 35.1255164023 70.2288094614 76.9118471024 80.7126605844 82.1763765529 83.5328984229 83.685435958 83.9583153373 85.3342414114 85.3620515942 86.402286053 86.4541238114 86.6536559079 86.8957156197 87.8046581891 98.3333362748 98.7288733313 98.9766338531 99.1364367218 99.8598114793 99.8620355423 99.9699200263 100.437565557 100.498346276 103.911823473 106.313275853 106.957540693 107.680248267 110.033759014 116.240845866 117.406007918 117.732649245 117.948099906 117.949201602 118.044008019 118.462110146 118.544355637 119.159161685 119.174842162 119.533702156 119.59116752 119.596451894 119.677774034 119.72873908 119.921045293 119.998984877 120.054423075 120.230146995 120.439466626 120.645352954 120.667204116 120.681671566 121.326126138 121.533304212 122.047550965 123.670604114 124.390846787 126.292385435 126.877596651 127.461629869 130.48008065 130.582977891 130.589101422 131.080476253 131.239032682 132.480465763 132.892082231 133.262892178 133.553823229 133.74022156 133.890416575 134.027471477 134.170675161 134.175924932 134.259677346 134.358778932 134.402036241 134.472102137 136.26780232 136.642822624 137.733085079 142.250575676 143.612661599 144.004082712 144.423557956 150.42827078 150.473903456 150.644158744 151.855482856 152.10319451 152.502216169 152.625417806 152.874158173 153.046496751 153.147956741 153.284246461 153.680845829 154.33355642 156.002485088 160.133019545 161.128188363 165.455222712 165.548183433 165.674108163 165.865506337 166.747542634 166.961998885 167.26797598 168.143121761 170.450183353 172.620223405 172.63687597 179.325413566 180.093186601 182.275524696 182.294468 183.456575771 183.479538437 183.554094568 183.995345126 184.018773416 184.494086013 184.870631247 184.891864077 185.006832978 185.189797954 185.39241399 185.634416481 191.106090176 192.940588205
60 | 0.189032272756 0.262965032336 0.276156461216 0.613739734254 0.662626635312 1.24997622204 1.41901483478 1.58642856864 1.59876873974 15.164637269 15.1940169592 15.5903887695 16.6539370219 17.2111522803 17.5899167478 19.429652383 23.1185961897 24.2117064276 24.6743341172 25.6838870298 25.7262157988 26.5172959924 26.6947521808 28.4996561724 28.7997162459 30.7195364728 30.8848626924 32.533145268 34.2820865004 36.8201947135 37.0131467497 37.5260005903 38.3631162689 40.1130684348 46.4317592207 52.7283913651 53.0723756543 56.6909695926 56.7529215186 58.6569824412 59.5966403268 64.3832116435 64.51389046 67.0317820765 67.0855419545 67.6882103723 68.4829370974 68.9718557901 69.0669188476 70.950453661 78.1448289167 79.2774024217 79.6058645713 84.0710040467 86.5679642536 87.3070214191 90.4824120069 91.2188336493 93.6807322515 94.3651831716 94.4207812992 94.6620099756 96.0612988181 96.4701590461 96.5279341698 96.6099384669 97.0221426765 97.2395149171 97.3463193507 97.5082800855 97.6945708381 97.9320584204 98.0979657073 98.2262904476 98.4450162718 98.4455567606 98.4857289232 98.5279790553 98.8162742024 98.9230873561 99.170719515 99.2694974525 99.3041482457 99.4996072739 99.5112419985 99.5753995238 100.091334901 100.580562616 107.393500428 108.841866465 108.964132336 111.218529658 112.169763515 112.388994162 112.827188809 113.001786463 113.320966362 113.414396574 114.170242206 114.980179847 115.120122487 131.877270328 132.196708396 134.156892239 135.920468702 136.311046343 136.32397637 137.052828224 137.140898207 137.338293216 137.735949461 137.956399843 137.96116094 138.06790563 138.075643698 138.088887801 138.367594989 138.393973766 138.597450459 138.894832334 139.192739803 153.357947591 155.059644458 155.137580149 155.19585346 156.367221766 158.122743365 158.167571174 158.308296106 158.376665047 158.950986724 159.196859964 160.312237397 161.475678646 161.739938677 161.902188743 162.501720538 162.504523278 162.871136325 163.134116309 171.577252824 172.105010854 172.491920682 172.527042048 173.328624623 173.415448152 173.550235511 173.708856307 173.760265895 173.984329374 174.203871927 174.683710037 175.278734104 175.66395635 175.73668544 176.394667986
61 | 0.0858653643081 0.290746182742 1.01725114427 1.03519150885 1.06740001441 1.46434988549 1.69369106162 1.77686530238 1.79868226218 2.06838734736 2.22164303703 2.45035398322 2.4726285552 2.54973260799 2.6043301669 2.66841392903 2.72566898486 2.75577070392 2.82132600159 2.86036356495 2.9334936154 3.09906335632 3.17709487192 3.30531332608 3.49612818104 3.50727786742 3.56841453689 3.81361902617 4.14841149512 4.25679804894 4.88129685416 5.00853176742 5.14568676925 5.35229039156 5.5343885476 5.55655110833 5.62510327295 5.64348306069 5.71373226176 5.86641009492 5.88535576033 6.01630659871 6.25660833402 6.31241937059 6.33156740831 6.37286743088 6.48568052991 6.50199351058 6.53830499841 6.5749796188 6.87622944708 7.01666317484 7.19718804803 7.3235335568 7.48384463016 7.5881653666 7.80722261572 8.26176728726 8.6542232831 10.9785337088 11.4606379827 12.7592050911 13.9127604271 14.6536575172 19.3458802282 21.3977873384 33.4370564898 48.6731319096 48.7917928272 49.0086151881 49.3548557422 49.8628149908 49.8824902506 50.7295378367 50.7788748164 51.3985938914 51.676152901 51.7444993092 51.8402736312 51.8966244819 51.9150014402 52.5483513914 52.6204662092 52.6568695659 52.7064507449 55.1750927307 55.4895034268 55.7127693828 56.0739135257 56.5266269713 65.8280992479 66.2906816757 66.9130117553 67.1357654687 67.2256662408 67.3502985143 67.5315015138 67.5485966241 68.0408970784 68.0630708335 68.3661065968 68.394632353 68.6725970508 69.1086823611 69.1591547493 69.4666215489 69.5301180728 70.144468938 70.1573891519 70.5249298698 70.7349340485 71.8310373631 73.3145626824 74.111189009 74.4907558797 76.1632159276 77.5903529128 80.3987794994 80.832290504 84.1358389245 84.3308026576 84.7305995184 85.2665642359 87.3027060905 87.6448553015 88.2125337203 90.0525503125 95.0103756772 96.9480066853 97.4887260826 97.5166121618 97.9465665428 98.1653382288 98.230880823 98.66441226 100.908103699 100.920069283 101.373986515 102.840140779 103.483742935 103.601115319 103.660903465 103.682510225 104.434972638 104.609824602 106.953073868 107.608934539 108.124465744 108.584997122 109.399180875 110.450390926 110.829185543 110.863473346 112.420182144 112.738776239 112.97415599
62 | 0.0202729499288 0.0532453206688 2.30295021497 2.64133016595 2.92676216418 3.45169386324 3.63728433807 4.64781120935 5.23117704738 6.15614604279 6.98831457198 7.09014237388 7.28416594533 7.57479737845 7.87428829905 7.90603086738 8.57957972011 8.73494025377 9.34561260362 9.46996393771 11.502510719 13.1982459266 14.0686523628 14.1813634629 14.252255481 14.379185828 14.9590249961 15.723564493 16.1432292044 21.3100174752 26.6043666036 30.2169227832 31.0158913399 31.3020437909 31.322936886 32.0316007146 32.5885690132 34.1953976488 34.8429868235 35.8521713233 35.9138654035 36.0027741879 36.1545284596 36.3413069859 36.8811457969 37.1870991719 37.341531463 37.4419833577 38.2063287748 38.8449065503 39.1064610617 39.3908009333 39.5430731676 39.6131937933 39.8256690238 39.8751003535 40.0785580735 40.1666579387 40.5714491681 41.5948398114 43.2717234933 44.0492622638 44.7623296409 46.0042985539 46.0240402764 46.0823481713 47.5622797271 47.9493656414 48.1287931063 48.2140786788 48.5150633931 49.0899888505 49.1419839524 49.2854521352 49.4573933413 50.0980104909 50.3575852106 50.5145823144 50.7883619002 50.9871130606 51.0062076789 51.5838564378 51.7880040934 51.8053005817 51.8182740843 51.8260278199 51.8281606397 51.9732699238 52.0463009336 52.1746657816 52.4413823398 52.4806062031 52.5325159038 52.790590645 52.7985369215 52.8988362692 53.1355033568 53.4471567181 53.6862169227 53.7997080595 54.0306135639 54.3707474797 54.6277968067 54.6332617665 55.1418633481 56.2624831722 56.7341061481 57.9266233387 57.9790840342 59.6694335601 67.4833393422 74.476579757 74.479641226 74.7965557322 74.9490985096 75.1795066848 77.40902475 77.5572258351 80.2895807394 80.3428602263 80.6742562626 81.9843246658 82.04097853 82.1248104987 82.1842512322 82.2778227613 82.3221193766 82.5270908912 82.9294228129 83.0248594508 83.213822085 83.3990360959 83.7278543605 84.9075103507 85.310042777 85.4230391072 85.5484975306 85.7758843484 85.8534835864 87.8987595066 94.4490380655 95.133291861 100.400056134 103.434410765 103.777525818 104.061608731 105.078699875 105.708147917 105.720128658 106.176820111 106.352578583 106.452272536 106.933227784 107.528247442 107.854108659 108.077763085
63 | 0.475244987887 0.523055940546 0.979647318309 1.51840938089 4.47052697098 6.0525410753 6.3660546506 6.91667545462 7.77474450703 8.1240568387 8.36971877175 8.43702574854 9.17638649294 9.52984506327 9.95608594018 10.032991598 10.1285871474 10.5751130473 10.6741343473 10.7832358759 10.8942881088 11.5348855171 11.5884659773 11.7147690103 11.8172470882 11.901157723 12.1495184911 12.7625861842 13.0211953909 13.1092396113 15.4866498142 15.8856682134 16.3861388897 17.0205945584 17.3319474747 17.5560052233 17.9608695363 22.2074921249 23.4163219364 23.6869300095 23.8269928427 24.9999206025 25.3754272258 26.0671278409 32.9724123944 34.16914607 34.9548545175 38.8604636513 40.6133274474 40.627001356 40.7488881299 41.4983843971 42.0498107306 42.0501572812 43.1616527205 43.9180694852 47.9153253522 51.872666591 74.3093448429 74.3351866481 74.3795830765 75.0578744336 75.0718562683 75.183676074 75.2785757479 75.3913171779 75.6615064679 75.6640213408 75.7891169935 75.8273920771 76.6175682109 76.861738763 76.9355658329 76.9871876183 77.0643561091 77.1035466029 77.1061555255 77.1261260211 77.1734671647 77.2918748784 77.2978940926 77.42808336 79.8439923667 81.5721150618 83.7953456726 83.9700280606 86.5994221237 87.6603045839 88.0130985864 88.7048421826 88.8639919702 88.9335345271 89.6450376557 89.877656212 89.9223966863 90.1482629894 90.2211195556 90.24025108 90.3072133429 90.3584939262 90.5717839336 90.5961261828 90.6546511253 90.7127055088 90.7451943135 90.9224215035 90.9375061456 91.1055631944 91.2059379164 91.3250973941 91.533685617 91.8253075833 91.8322784709 91.9623595136 92.1910508565 92.5040561375 92.5079474607 92.5405850583 92.5842466261 92.6293167754 92.6566488629 92.7174750135 92.7266993286 92.7764533197 92.8751075144 92.8843151143 93.0942054174 93.2374465422 93.3341077923 93.410693249 93.4848400705 93.5985904036 93.6765458461 93.7093726804 94.1265176789 94.306162779 94.5063388494 94.6514346381 94.67883771 94.766925233 94.8802643791 95.0873015174 95.104930251 95.6326626704 95.8542821292 95.8833604209 95.9065334195 96.0149243597 96.728294331 96.935002768 97.0739968815 97.5451514253 97.7239533694 97.8654747247 97.9111729922 98.0197296955
64 | 0.286431560817 0.320842415807 0.369130155901 0.409571235927 1.04997934373 1.26178181016 7.26592016293 7.92539966079 9.71900270732 9.87042711127 13.3769280855 13.9867873756 14.4961256969 15.0296397264 15.8477327848 18.7143845971 20.4275191537 20.5140010274 20.7454653971 26.4495162946 29.5103598977 30.1983031177 30.2147301282 30.7765893836 30.7918172019 30.9254913934 31.0436295174 36.4482157095 36.4810377558 37.5116007065 38.083336837 39.0725764352 39.6443863787 43.9956357483 50.8317240513 50.8737512128 63.5669097786 63.7021925344 64.2916428565 64.8447777522 65.6527954616 66.1458664598 66.1948400603 66.6282822594 66.7135571411 71.2026064718 71.8340743785 73.2221074423 73.3542760217 74.2924805165 74.3562924586 74.9497267961 75.0089498993 75.0460858693 75.1545877949 75.1801990478 75.2184374507 75.8652085238 76.2929896914 76.7046741816 79.3344223453 79.3663300291 79.7655877712 80.5248268868 81.2476928015 81.9181883053 83.3321251699 85.7716733699 86.3478714174 87.88547336 91.6889253871 92.0711681253 93.2922134725 95.460821355 95.5841254245 103.135120545 103.174142549 103.231585215 104.137472568 105.272757648 108.577600344 108.886783166 110.322327341 110.925896316 111.119194795 111.553957633 111.69450787 111.836237726 111.918578193 112.032434015 112.052929761 112.062270626 112.728834453 113.036637157 113.152759886 114.20827995 114.290681378 114.953410269 115.09318655 115.429687343 115.698573098 116.228987071 117.214149554 121.433107684 123.354362309 128.170326418 131.56950441 133.804981111 134.008757395 134.065175031 134.894917431 147.388564086 150.122767543 150.662403549 150.814360629 151.15575124 151.473595121 151.728405631 152.504752705 153.667307445 158.821589753 159.545040208 176.583042555 176.688557135 176.697164705 176.764713579 176.861367962 176.937737833 176.958047469 176.986126172 177.27031654 177.386458253 178.308731828 178.849739247 179.743818651 180.134578506 180.657155395 181.195913801 182.060504056 182.753518901 182.804933525 182.962960648 183.184460723 183.31073962 183.339860431 183.379904925 183.388213559 183.431602141 183.448640581 183.668682591 183.761353889 183.978216198 184.109728245 184.221948876 184.307985201 184.76398638
65 |
--------------------------------------------------------------------------------
/data/self-correcting/event-test.txt:
--------------------------------------------------------------------------------
1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
6 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
7 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
9 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
11 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
12 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
13 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
14 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
15 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
17 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
20 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
22 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
26 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
27 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
28 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
29 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
30 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
32 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
33 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
34 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
35 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
36 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
37 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
38 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
39 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
40 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
41 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
42 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
43 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
44 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
45 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
46 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
47 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
48 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
49 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
50 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
51 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
52 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
53 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
54 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
55 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
56 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
57 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
58 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
59 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
60 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
61 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
62 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
63 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
64 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
65 |
--------------------------------------------------------------------------------
/model.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import torch.nn as nn
3 |
4 |
5 | class RMTPP(nn.Module):
6 | def __init__(self, config, device):
7 | super(RMTPP, self).__init__()
8 | self.config = config
9 | self.n_class = config.n_class
10 | self.hid_dim = config.hid_dim
11 | self.embed = nn.Linear(in_features=self.n_class, out_features=1)
12 | self.rnn = nn.RNN(input_size=2, hidden_size=config.hid_dim,
13 | batch_first=True, num_layers=config.n_layers,bidirectional=False, nonlinearity='relu')
14 |
15 | self.event_linear = nn.Linear(in_features=config.hid_dim, out_features=self.n_class, bias=True)
16 | self.time_linear = nn.Linear(in_features=config.hid_dim, out_features=1, bias=True)
17 |
18 | self.event_criterion = nn.CrossEntropyLoss()
19 | self.intensity_w = nn.Parameter(torch.tensor(0.1, dtype=torch.float32))
20 | self.intensity_b = nn.Parameter(torch.tensor(0.1, dtype=torch.float32))
21 | self.time_criterion = self.RMTPPLoss
22 | self.optimizer = self.set_optimizer(config.opt, config.lr, config.momentum)
23 |
24 | def RMTPPLoss(self, hidden_things, time_duration):
25 | loss = torch.mean(hidden_things+self.intensity_w * time_duration + self.intensity_b +
26 | (torch.exp(hidden_things + self.intensity_b) -
27 | torch.exp(hidden_things+self.intensity_w * time_duration + self.intensity_b))/self.intensity_w)
28 | return -loss
29 |
30 | def forward(self, time_input, event_input):
31 | event_input = torch.nn.functional.one_hot(event_input, num_classes=self.n_class)
32 | event_input = event_input.float()
33 | event_embedding = self.embed(event_input)
34 | rnn_input = torch.cat((event_embedding, time_input.unsqueeze(-1)), dim=-1)
35 | hidden_state, _ = self.rnn(rnn_input)
36 | #print(hidden_state)
37 | event_out = self.event_linear(hidden_state)
38 | time_out = self.time_linear(hidden_state)
39 | return event_out, time_out
40 |
41 | def set_optimizer(self, opt, lr, momentum):
42 | if opt == 'SGD':
43 | return torch.optim.SGD(self.parameters(), lr=lr, momentum=momentum)
44 | else:
45 | return torch.optim.Adam(self.parameters(), lr=lr)
46 |
47 | def train(self, batch, device):
48 | time_tensor, event_tensor = batch
49 | time_tensor.to(device)
50 | event_tensor.to(device)
51 | time_input, time_duration = time_tensor[:, :-1], time_tensor[:, -1]
52 | event_input, event_target = event_tensor[:, :-1], event_tensor[:, -1]
53 | event_out, time_out = self.forward(time_input, event_input)
54 | event_out = event_out[:,-1:].reshape(-1, self.n_class)
55 | loss1 = self.event_criterion(event_out, event_target)
56 | time_out = time_out[:,-1]
57 | loss2 = self.time_criterion(time_out.reshape(-1,1), time_duration.reshape(-1,1))
58 | loss = loss1 + loss2
59 | loss.backward()
60 | self.optimizer.step()
61 | self.optimizer.zero_grad()
62 | return loss.item(), loss1.item(), loss2.item()
63 |
64 | def predict(self, batch, device):
65 | time_tensor, event_tensor = batch
66 | time_tensor.to(device)
67 | event_tensor.to(device)
68 | time_input, time_duration = time_tensor[:,:-1], time_tensor[:,-1]
69 | event_input, event_target = event_tensor[:,:-1], event_tensor[:,-1]
70 | event_out, time_out = self.forward(time_input, event_input)
71 | time_out = time_out[:,-1]
72 | event_pred = nn.functional.softmax(event_out[:,-1])
73 | event_pred = torch.max(event_pred, dim=-1)[1].tolist()
74 | return event_pred, time_out
75 |
--------------------------------------------------------------------------------
/test.py:
--------------------------------------------------------------------------------
1 | from argparse import ArgumentParser
2 | import torch
3 | import os
4 | import numpy as np
5 | from scipy import integrate
6 | from sklearn.metrics import mean_squared_error
7 | from math import sqrt
8 | import matplotlib.pyplot as plt
9 |
10 | def data_process(file_name):
11 | f = open(file_name,'r')
12 | time_data = []
13 | file_data = f.readlines()
14 | f.close()
15 | for line in file_data:
16 | data = line.split(" ")
17 | a_list = []
18 | for i in range(len(data)):
19 | if data[i] != "\n":
20 | a_list.append(float(data[i]))
21 | time_data.append(a_list)
22 | for i in range(len(time_data)):
23 | line = time_data[i]
24 | time_data[i] = []
25 | end = 1
26 | while end <= len(line):
27 | time_data[i].append(line[0:end])
28 | end += 1
29 | time_data = np.array(time_data)
30 | return time_data
31 |
32 |
33 | def generate_type(time_data):
34 | type_data = []
35 | for line in time_data:
36 | new_line = []
37 | for item in line:
38 | new_seq = []
39 | for a_time in item:
40 | new_seq.append(1)
41 | new_line.append(new_seq)
42 | type_data.append(new_line)
43 | return type_data
44 |
45 |
46 | def equation(time_var, time_cif, w, b):
47 | time_guess = time_var*np.exp(time_cif+w*(time_var)+b+
48 | (np.exp(time_cif+b)-np.exp(time_cif+w*(time_var)+b))/w)
49 | return time_guess
50 |
51 | def intensities(time_var, time_cif, w, b):
52 | ints = np.exp(time_cif+w*(time_var)+b)
53 | return ints
54 |
55 | if __name__ == "__main__":
56 | parser = ArgumentParser()
57 | parser.add_argument("--generate_type",
58 | help="For generated experiment, use true for generate_type",
59 | type=bool, default=True)
60 | parser.add_argument("--test_start",
61 | help="Start of the prediction. For real data, we only predict the last one at -1",
62 | type=int, default=56)
63 | parser.add_argument("--data", type=str, default='Hawkes',
64 | help="Hawkes, self-correcting are choice. Must be the same with the training input")
65 | config = parser.parse_args()
66 |
67 | if torch.cuda.is_available():
68 | device = torch.device('cuda')
69 | print("You are using GPU acceleration.")
70 | print("Number of CUDAs(cores): ", torch.cuda.device_count())
71 | else:
72 | device = torch.device("cpu")
73 | print("CUDA is not Available. You are using CPU only.")
74 | print("Number of cores: ", os.cpu_count())
75 |
76 | data = "data/" + config.data + "/time-test.txt"
77 |
78 | time_test = data_process(data)
79 | if config.generate_type:
80 | type_test = generate_type(time_test)
81 | else:
82 | data_type = "data/"+config.data+"/event-test.txt"
83 | type_test = data_process(data_type)
84 | print("testing file processed.")
85 |
86 | if config.generate_type:
87 | time_test = time_test[0]
88 | type_test = type_test[0]
89 | else:
90 | time_duration = time_duration[:,-1]
91 | type_test = type_test[:,-1]
92 |
93 | model = torch.load("model.pt")
94 |
95 | if config.test_start == -1:
96 | index = 0
97 | else:
98 | index = config.test_start
99 |
100 |
101 |
102 | actual_duration = []
103 | duration_pred = []
104 | intensity_pred = []
105 | event_pred = []
106 | while index < len(time_test):
107 | time_data = np.diff(time_test[index], axis=-1, prepend=time_test[0])
108 | actual_duration.append(time_data[-1])
109 | batch = (torch.tensor([time_data], dtype=torch.float32), torch.tensor([type_test[index]]))
110 | event, time_cif = model.predict(batch, device)
111 | time_cif = time_cif.item()
112 | intensity_w = model.intensity_w.item()
113 | intensity_b = model.intensity_b.item()
114 | func = lambda x: equation(x, time_cif, intensity_w, intensity_b)
115 | duration = integrate.quad(func,0, np.inf)[0]
116 | duration_pred.append(duration)
117 | inten = intensities(duration, time_cif, intensity_w, intensity_b)
118 | intensity_pred.append(inten)
119 | event_pred.append(event[0])
120 | index += 1
121 |
122 | print("prediction on duration: ", duration_pred)
123 | print("actual duration: ", actual_duration)
124 | print("prediction on types: ", event_pred)
125 | print("intensity: ",intensity_pred)
126 | print("calculating RMSE: ")
127 | rmse = sqrt(mean_squared_error(duration_pred, actual_duration))
128 |
129 |
130 | f = open("predict-duration.txt", "w")
131 | for t in duration_pred:
132 | f.write(str(t))
133 | f.write(" ")
134 | f.close()
135 | f = open("predict_type.txt", "w")
136 | for item in event_pred:
137 | f.write(str(item))
138 | f.write(" ")
139 | f.close()
140 |
141 |
142 | print("generating_time_interval_plot:")
143 | figure, ax = plt.subplots(2,2)
144 | ax[0,0].plot(range(100),actual_duration)
145 | ax[0,0].plot(range(100),duration_pred)
146 | ax[0,1].plot(range(100),intensity_pred)
147 | ax[1,0].bar(x=1, height=rmse)
148 | ax[1,0].annotate(str(round(rmse,3)),xy=[1, rmse])
149 | ax[1,1].set_visible(False)
150 | figure.tight_layout()
151 | plt.savefig("result.png")
152 |
153 |
154 |
155 |
--------------------------------------------------------------------------------
/train.py:
--------------------------------------------------------------------------------
1 | from argparse import ArgumentParser
2 | import torch
3 | import os
4 | import model
5 | import random
6 | import numpy as np
7 |
8 |
9 |
10 |
11 | def data_process(file_name, seq_len):
12 | f = open(file_name,'r')
13 | time_data = []
14 | file_data = f.readlines()
15 | f.close()
16 | for line in file_data:
17 | data = line.split(" ")
18 | a_list = []
19 | for i in range(len(data)):
20 | if data[i] != "\n":
21 | a_list.append(float(data[i]))
22 | time_data.append(a_list)
23 | for i in range(len(time_data)):
24 | line = time_data[i]
25 | time_data[i] = []
26 | end = seq_len
27 | while end <= len(line):
28 | start = end-seq_len
29 | time_data[i].append(line[start:end])
30 | end += 1
31 | time_data = np.array(time_data)
32 | time_duration = np.diff(time_data, axis=-1, prepend=time_data[:,:,:1])
33 | return time_data, time_duration
34 |
35 |
36 | def generate_type(time_data):
37 | type_data = []
38 | for line in time_data:
39 | new_line = []
40 | for item in line:
41 | new_seq = []
42 | for a_time in item:
43 | new_seq.append(1)
44 | new_line.append(new_seq)
45 | type_data.append(new_line)
46 | return type_data
47 |
48 |
49 | if __name__ == "__main__":
50 | """The code below is used to set up command line inputs. """
51 | parser = ArgumentParser()
52 | parser.add_argument("--n_class",
53 | help="Number of types in the dataset, default is 2", type=int, default=2)
54 | parser.add_argument("--hid_dim", type=int, default=1)
55 | parser.add_argument("--n_layers", type=int, default=1)
56 | parser.add_argument("--lr", type=float, default=0.01)
57 | parser.add_argument("--momentum", type=float, default=0.01)
58 | parser.add_argument("--epochs", type=int, default=30)
59 | parser.add_argument("--opt", type=str, default='Adam')
60 | parser.add_argument("--generate_type",
61 | help="For generated experiment, use true for generate_type",
62 | type=bool, default=True)
63 | parser.add_argument("--read_model", type=bool, default=False)
64 | parser.add_argument("--seq_len", type=int, default=10)
65 | parser.add_argument("--data", type=str, default='Hawkes',
66 | help="Hawkes, self-correcting are choices")
67 | config = parser.parse_args()
68 |
69 |
70 | """The code below is to get the training data"""
71 | file_name = 'data/' + config.data + "/time-train.txt"
72 | time_train, time_duration = data_process(file_name, config.seq_len)
73 | if config.generate_type:
74 | type_data = generate_type(time_train)
75 | else:
76 | data_type = "data/"+config.data+"/event_test.txt"
77 | type_data = data_process(data_type)
78 | print("training file processed.")
79 |
80 |
81 | """The code below is used to set up customized training device on computer"""
82 | if torch.cuda.is_available():
83 | device = torch.device('cuda')
84 | print("You are using GPU acceleration.")
85 | print("Number of CUDAs(cores): ", torch.cuda.device_count())
86 | else:
87 | device = torch.device("cpu")
88 | print("CUDA is not Available. You are using CPU only.")
89 | print("Number of cores: ", os.cpu_count())
90 |
91 |
92 | """decide whether to used pred-trained model to train again"""
93 | if config.read_model:
94 | model = torch.load("model.pt")
95 | else:
96 | model = model.RMTPP(config, device)
97 | for parameter in model.parameters():
98 | parameter.data.fill_(random.uniform(0.4, 0.5))
99 |
100 |
101 | """Trianing process"""
102 | for epc in range(config.epochs):
103 | c = list(zip(time_train, type_data))
104 | random.shuffle(c)
105 | time_train, type_data = zip(*c)
106 | loss_total = 0
107 | loss_type = 0
108 | loss_time = 0
109 | for index in range(len(time_train)):
110 | batch = (torch.tensor(time_duration[index], dtype=torch.float32), torch.tensor(type_data[index]))
111 | loss, loss1, loss2 = model.train(batch, device)
112 | loss_total += loss
113 | loss_type += loss1
114 | loss_time += loss2
115 | print("In epochs {0}, total loss: {1}, type loss: {2}, time loss: {3}".format(
116 | epc, loss_total/len(time_train), loss_type/len(time_train), loss_time/len(time_train)
117 | ))
118 | print("saving model")
119 | torch.save(model, "model.pt")
120 | print("training done!")
--------------------------------------------------------------------------------