diff --git a/documents/csv-line-plot/Makefile b/documents/csv-line-plot/Makefile new file mode 100644 index 0000000..072070f --- /dev/null +++ b/documents/csv-line-plot/Makefile @@ -0,0 +1,7 @@ +SOURCE = csv-line-plot +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.out diff --git a/documents/csv-line-plot/csv-line-plot.tex b/documents/csv-line-plot/csv-line-plot.tex new file mode 100644 index 0000000..028af21 --- /dev/null +++ b/documents/csv-line-plot/csv-line-plot.tex @@ -0,0 +1,19 @@ +\documentclass[a4paper]{scrartcl} +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage[margin=2.5cm]{geometry} %layout + +\usepackage{pgfplots} + +\begin{document} +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quam elit, vestibulum nec facilisis at, condimentum id enim. Sed iaculis lacinia quam, vel accumsan eros tempor in. Integer ipsum metus, accumsan sit amet commodo a, egestas vitae sem. Mauris ut orci ut dolor viverra convallis nec a erat. Aenean consequat elit vel eros fermentum vestibulum id at ipsum. In vitae orci mauris, et rhoncus odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. + +\begin{tikzpicture} +\begin{axis} +\addplot table [x=a, y=c, col sep=comma] {myDataFile.csv}; +\end{axis} +\end{tikzpicture} + +Vivamus ante est, dictum at placerat id, semper auctor tellus. Donec sed ipsum enim, eget lacinia mi. Duis vulputate auctor ligula, sit amet suscipit lectus malesuada ut. Donec adipiscing rutrum dolor sit amet euismod. Aenean condimentum nibh vitae neque rhoncus ultrices. Vestibulum ultrices commodo mattis. Morbi aliquam elementum est, a pulvinar arcu viverra quis. Vivamus sed fermentum nisl. Cras bibendum, justo tincidunt dictum venenatis, sem turpis vestibulum nibh, ut dapibus nunc enim ut justo. Nullam iaculis vulputate aliquam. Sed nulla metus, facilisis eu porta sed, aliquet id mi. Duis congue blandit quam, a auctor turpis rhoncus non. Nam id dictum nibh. Integer vitae lacus sit amet ipsum semper interdum nec eget nisl. Vivamus aliquet, augue ut ultrices auctor, neque lacus vestibulum leo, vel dapibus ligula nisi ac nibh. Etiam accumsan, felis ut dapibus sagittis, velit turpis pellentesque nibh, nec cursus libero erat at odio. +\end{document} diff --git a/documents/csv-line-plot/myDataFile.csv b/documents/csv-line-plot/myDataFile.csv new file mode 100644 index 0000000..71051bf --- /dev/null +++ b/documents/csv-line-plot/myDataFile.csv @@ -0,0 +1,6 @@ +a,b,c,d +1,4,5,1 +2,3,1,5 +3,5,6,1 +4,1,4,9 +5,3,4,7 diff --git a/tikz/2d-parted-function/2d-parted-function.tex b/tikz/2d-parted-function/2d-parted-function.tex new file mode 100644 index 0000000..8d02397 --- /dev/null +++ b/tikz/2d-parted-function/2d-parted-function.tex @@ -0,0 +1,41 @@ +\documentclass[varwidth=true, border=2pt]{standalone} + +\usepackage{pgfplots} +\usepackage{tikz} + +\begin{document} +\begin{tikzpicture} + \begin{axis}[ + legend pos=south west, + axis x line=middle, + axis y line=middle, + grid = major, + %width=9cm, + %height=4.5cm, + grid style={dashed, gray!30}, + xmin=-1, % start the diagram at this x-coordinate + xmax= 6, % end the diagram at this x-coordinate + ymin=-0.25, % start the diagram at this y-coordinate + ymax= 2.25, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=x, + ylabel=y, + %xticklabels={-2,-1.6,...,7}, + %yticklabels={-8,-7,...,8}, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + % plot the stirling-formulae + \addplot[domain=0:1, red, thick,samples=20] {0.5*x*x}; + \addplot[domain=1:2, green, thick,samples=20] {x-0.5}; + \addplot[domain=2:3, blue, thick,samples=500] {-0.5*(x-2)*(x-2)+x-0.5}; + \addplot[domain=3:5, purple, thick,samples=20] {5-x}; + \addplot[domain=5:7, orange, thick,samples=3] {0}; + \addplot[domain=-3:0, orange, thick,samples=3] {0}; + %\addlegendentry{$f_1(x)=\frac{1}{2}x^2$} + %\addlegendentry{$f_2(x)=x-\frac{1}{2}$} + %\addlegendentry{$f_2(x)=-\frac{1}{2} (x-2)^2+x-\frac{1}{2}$} + \end{axis} +\end{tikzpicture} +\end{document} diff --git a/tikz/2d-parted-function/Makefile b/tikz/2d-parted-function/Makefile new file mode 100644 index 0000000..0b6ab11 --- /dev/null +++ b/tikz/2d-parted-function/Makefile @@ -0,0 +1,31 @@ +SOURCE = 2d-parted-function +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg diff --git a/tikz/csv-line-plot-two-axes/Makefile b/tikz/csv-line-plot-two-axes/Makefile new file mode 100644 index 0000000..1b13ab9 --- /dev/null +++ b/tikz/csv-line-plot-two-axes/Makefile @@ -0,0 +1,35 @@ +SOURCE = csv-line-plot-two-axes +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/csv-line-plot-two-axes/Readme.md b/tikz/csv-line-plot-two-axes/Readme.md new file mode 100644 index 0000000..261c793 --- /dev/null +++ b/tikz/csv-line-plot-two-axes/Readme.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](csv-line-plot-two-axes.png) diff --git a/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.png b/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.png new file mode 100644 index 0000000..0646002 Binary files /dev/null and b/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.png differ diff --git a/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.tex b/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.tex new file mode 100644 index 0000000..1b9b952 --- /dev/null +++ b/tikz/csv-line-plot-two-axes/csv-line-plot-two-axes.tex @@ -0,0 +1,39 @@ +\documentclass[varwidth=true, border=2pt]{standalone} +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage[margin=2.5cm]{geometry} %layout + +\usepackage{pgfplots} + +\begin{document} +\begin{tikzpicture} + \begin{axis}[ + axis x line=middle, + axis y line=middle, + enlarge y limits=true, + xmin=0, xmax=2150, + ymin=0, ymax=20000000, + width=15cm, height=8cm, % size of the image + grid = major, + grid style={dashed, gray!30}, + ylabel=Stored game situations, + xlabel=seconds, + legend style={at={(0.1,-0.1)}, anchor=north} + ] + \addplot table [x=seconds, y=situations, col sep=comma] {linearProbing.csv}; + \addplot table [x=seconds, y=situations, col sep=comma] {quadraticProbing.csv}; + \legend{linear probing,quadratic probing} + \end{axis} + + % this is the right axis + \begin{axis}[ + hide x axis, + axis y line*=right, + width=15cm, height=8cm, % size of the image + ] + \addplot[orange, mark=halfcircle] table [x=seconds, y=mirrored, col sep=comma] {linearProbing.csv}; + \addplot[black, mark=x] table [x=seconds, y=mirrored, col sep=comma] {quadraticProbing.csv}; + \end{axis} +\end{tikzpicture} +\end{document} diff --git a/tikz/csv-line-plot-two-axes/linearProbing.csv b/tikz/csv-line-plot-two-axes/linearProbing.csv new file mode 100644 index 0000000..e9ef68a --- /dev/null +++ b/tikz/csv-line-plot-two-axes/linearProbing.csv @@ -0,0 +1,148 @@ +seconds,situations,mirrored,probing +1.79,100000,1,52837 +2.27,200000,2,108713 +2.75,300000,3,282667 +3.24,400000,14,528727 +3.74,500000,14,821690 +4.25,600000,15,1833742 +4.74,700000,15,2243134 +5.26,800000,15,3502356 +5.75,900000,17,4207681 +6.29,1000000,17,6661255 +6.79,1100000,31,7459883 +7.29,1200000,36,8357544 +7.81,1300000,39,9769676 +8.33,1400000,39,10683610 +8.85,1500000,39,12810912 +9.38,1600000,39,14238451 +9.91,1700000,40,15987745 +10.48,1800000,44,19708076 +11.05,1900000,44,23067924 +11.73,2000000,44,31345690 +12.27,2100000,44,35540538 +12.86,2200000,45,41733529 +13.41,2300000,45,45459787 +13.98,2400000,45,50647745 +14.58,2500000,45,57401525 +15.15,2600000,45,62130488 +15.80,2700000,45,72507107 +16.57,2800000,45,88944991 +17.19,2900000,45,97441951 +17.89,3000000,45,108700145 +18.66,3100000,46,123775215 +19.44,3200000,57,140062440 +20.07,3300000,59,147768013 +20.91,3400000,60,166524231 +21.77,3500000,61,188370685 +22.62,3600000,70,206759514 +23.52,3700000,73,230306289 +24.19,3800000,73,243164798 +24.91,3900000,73,259526806 +25.58,4000000,73,271452153 +26.23,4100000,73,283175132 +26.89,4200000,73,294497086 +27.58,4300000,73,307599973 +28.39,4400000,73,329424615 +29.18,4500000,73,348722080 +30.02,4600000,73,369624527 +30.98,4700000,75,395744252 +32.49,4800000,76,451787644 +33.88,4900000,79,501275977 +35.45,5000000,80,559440119 +36.94,5100000,80,617802955 +38.69,5200000,83,691306221 +40.64,5300000,86,775816011 +42.86,5400000,88,867275056 +44.74,5500000,88,944753518 +45.80,5600000,88,981194132 +47.12,5700000,92,1028117750 +50.12,5800000,92,1160674650 +51.97,5900000,93,1237240328 +52.98,6000000,94,1280297330 +54.08,6100000,95,1328565942 +55.20,6200000,95,1377227458 +56.29,6300000,95,1423383265 +57.36,6400000,100,1468233779 +58.49,6500000,100,1517350180 +59.61,6600000,101,1565859792 +60.96,6700000,101,1632867437 +62.20,6800000,102,1689450129 +63.37,6900000,102,1739677936 +64.84,7000000,102,1814670374 +66.10,7100000,102,1873464115 +67.44,7200000,103,1938412869 +68.91,7300000,104,2011480003 +70.32,7400000,104,2078044339 +71.63,7500000,104,2135343092 +72.95,7600000,106,2196362480 +74.54,7700000,108,2275872670 +75.95,7800000,115,2339029924 +77.78,7900000,115,2426045031 +79.07,8000000,115,2489115691 +80.69,8100000,115,2575652441 +82.22,8200000,115,2655929464 +83.67,8300000,119,2727348568 +85.59,8400000,119,2832564896 +87.24,8500000,119,2916517486 +89.15,8600000,119,3021003980 +91.27,8700000,121,3138766597 +93.16,8800000,121,3239971359 +95.16,8900000,121,3345853276 +97.58,9000000,121,3484232713 +100.24,9100000,121,3633751337 +102.93,9200000,122,3782900204 +105.56,9300000,122,3926644036 +108.51,9400000,122,4094293466 +111.61,9500000,122,4272481849 +114.96,9600000,122,169538836 +119.37,9700000,122,418790577 +123.12,9800000,127,636701971 +127.62,9900000,130,888712914 +133.06,10000000,130,1189509169 +137.95,10100000,133,1456344347 +144.66,10200000,134,1819129668 +151.14,10300000,135,2187025121 +163.31,10400000,136,2787407257 +176.13,10500000,136,3441724616 +184.15,10600000,137,3911982685 +189.66,10700000,144,4231539876 +198.78,10800000,147,454518827 +207.10,10900000,149,944747517 +214.53,11000000,149,1402360931 +221.07,11100000,149,1798724437 +227.99,11200000,151,2216412901 +238.53,11300000,156,2850345255 +253.15,11400000,158,3695138929 +266.83,11500000,163,185081487 +281.95,11600000,170,1057012241 +297.78,11700000,170,1942443819 +310.85,11800000,170,2723518484 +325.61,11900000,180,3612179455 +344.25,12000000,180,423292586 +361.67,12100000,187,1439190191 +378.03,12200000,191,2398052565 +395.60,12300000,192,3484110311 +425.07,12400000,215,804950196 +453.95,12500000,238,2389222174 +481.96,12600000,265,3960343938 +518.30,12700000,282,1655154134 +547.13,12800000,282,3327286722 +588.22,12900000,283,1257021303 +629.39,13000000,290,3388500367 +674.75,13100000,294,1464123036 +735.55,13200000,294,425516303 +776.31,13300000,294,2832274943 +833.39,13400000,294,1738761253 +903.70,13500000,295,1341976959 +975.71,13600000,295,1028306431 +1050.49,13700000,295,783420942 +1121.55,13800000,296,374201201 +1191.85,13900000,296,4227602752 +1295.26,14000000,296,1111586359 +1409.72,14100000,296,2877196249 +1561.78,14200000,296,2154186690 +1651.77,14300000,296,2869281185 +1751.73,14400000,296,4121108567 +1861.96,14500000,297,1599319603 +1993.98,14600000,298,341905351 +2125.29,14700000,299,3301815055 diff --git a/tikz/csv-line-plot-two-axes/quadraticProbing.csv b/tikz/csv-line-plot-two-axes/quadraticProbing.csv new file mode 100644 index 0000000..fec393c --- /dev/null +++ b/tikz/csv-line-plot-two-axes/quadraticProbing.csv @@ -0,0 +1,631 @@ +seconds,situations,mirrored,probing +1.39,10000,0,917 +1.43,20000,0,3225 +1.48,30000,0,4556 +1.53,40000,0,7002 +1.57,50000,0,10163 +1.62,60000,1,16113 +1.67,70000,1,24261 +1.72,80000,1,46428 +1.77,90000,1,49302 +1.82,100000,1,52302 +1.87,110000,1,55672 +1.91,120000,1,58223 +1.96,130000,1,62264 +2.01,140000,1,67191 +2.06,150000,1,75063 +2.11,160000,2,77442 +2.16,170000,2,83468 +2.21,180000,2,89965 +2.25,190000,2,103521 +2.30,200000,2,107011 +2.35,210000,2,110629 +2.39,220000,2,115232 +2.44,230000,2,120553 +2.49,240000,2,132132 +2.54,250000,2,152964 +2.59,260000,2,171585 +2.64,270000,2,190352 +2.69,280000,2,242810 +2.74,290000,2,274246 +2.79,300000,3,287848 +2.84,310000,4,308945 +2.89,320000,5,363331 +2.95,330000,8,371119 +2.99,340000,11,379961 +3.04,350000,13,387112 +3.09,360000,13,396301 +3.14,370000,13,423899 +3.19,380000,13,441912 +3.24,390000,14,470530 +3.30,400000,14,560851 +3.35,410000,14,578878 +3.41,420000,14,658117 +3.47,430000,14,712193 +3.52,440000,14,737484 +3.57,450000,14,748184 +3.62,460000,14,772420 +3.67,470000,14,824620 +3.72,480000,14,832082 +3.77,490000,14,849195 +3.82,500000,14,867810 +3.87,510000,14,883787 +3.92,520000,14,923489 +3.98,530000,14,982719 +4.05,540000,14,1247827 +4.12,550000,14,1397166 +4.21,560000,14,1768329 +4.27,570000,14,1800255 +4.32,580000,14,1861806 +4.37,590000,15,1905227 +4.42,600000,15,1912296 +4.47,610000,15,1925760 +4.53,620000,15,1946862 +4.58,630000,15,1987058 +4.63,640000,15,2003030 +4.68,650000,15,2018149 +4.75,660000,15,2139308 +4.80,670000,15,2169861 +4.85,680000,15,2219227 +4.91,690000,15,2278953 +4.96,700000,15,2328776 +5.01,710000,15,2353815 +5.06,720000,15,2383499 +5.11,730000,15,2443121 +5.22,740000,15,2808092 +5.34,750000,15,3217820 +5.41,760000,15,3358372 +5.48,770000,15,3484789 +5.54,780000,15,3569470 +5.59,790000,15,3611639 +5.65,800000,15,3695346 +5.71,810000,15,3773920 +5.79,820000,15,3995558 +5.84,830000,15,4012322 +5.89,840000,15,4047932 +5.94,850000,15,4078359 +5.99,860000,17,4115767 +6.05,870000,17,4206169 +6.10,880000,17,4278533 +6.16,890000,17,4373348 +6.23,900000,17,4507564 +6.29,910000,17,4639756 +6.40,920000,17,5024274 +6.51,930000,17,5439843 +6.61,940000,17,5733353 +6.78,950000,17,6318158 +6.89,960000,17,6647967 +6.95,970000,17,6696496 +7.00,980000,17,6756114 +7.06,990000,17,6905968 +7.15,1000000,17,7218531 +7.20,1010000,18,7248741 +7.26,1020000,18,7312196 +7.31,1030000,19,7350851 +7.37,1040000,22,7436943 +7.42,1050000,22,7468142 +7.50,1060000,22,7597103 +7.75,1070000,22,8090355 +7.81,1080000,23,8148718 +7.87,1090000,25,8215644 +7.92,1100000,31,8252072 +7.98,1110000,33,8321322 +8.03,1120000,35,8372305 +8.13,1130000,36,8684928 +8.19,1140000,36,8729912 +8.28,1150000,36,8914104 +8.36,1160000,36,9089360 +8.41,1170000,36,9110145 +8.47,1180000,36,9143995 +8.52,1190000,36,9182264 +8.57,1200000,36,9200925 +8.65,1210000,36,9381920 +8.76,1220000,36,9682880 +8.90,1230000,36,10100564 +9.05,1240000,36,10502156 +9.13,1250000,36,10683368 +9.18,1260000,38,10703994 +9.23,1270000,38,10717934 +9.29,1280000,38,10790481 +9.34,1290000,39,10823364 +9.40,1300000,39,10898444 +9.47,1310000,39,11020310 +9.53,1320000,39,11050637 +9.57,1330000,39,11065682 +9.64,1340000,39,11132592 +9.69,1350000,39,11177156 +9.75,1360000,39,11235989 +9.80,1370000,39,11263618 +9.85,1380000,39,11303247 +10.07,1390000,39,11778394 +10.15,1400000,39,11908801 +10.21,1410000,39,11962323 +10.27,1420000,39,12013052 +10.42,1430000,39,12379123 +10.61,1440000,39,12789023 +10.75,1450000,39,13062112 +10.98,1460000,39,13639223 +11.05,1470000,39,13766069 +11.11,1480000,39,13855525 +11.19,1490000,39,14015527 +11.43,1500000,39,14602484 +11.62,1510000,39,15007561 +11.78,1520000,39,15305209 +11.86,1530000,39,15399004 +11.92,1540000,39,15472041 +11.98,1550000,39,15514853 +12.04,1560000,39,15567728 +12.10,1570000,39,15641541 +12.22,1580000,39,15938575 +12.34,1590000,39,16217012 +12.43,1600000,39,16422834 +12.57,1610000,39,16799562 +12.68,1620000,39,17031549 +12.75,1630000,39,17154442 +12.84,1640000,39,17381570 +12.94,1650000,40,17583341 +13.06,1660000,40,17857749 +13.16,1670000,40,18041237 +13.22,1680000,40,18133873 +13.35,1690000,40,18493179 +13.42,1700000,40,18585388 +13.63,1710000,40,19100988 +13.88,1720000,41,19904239 +13.98,1730000,41,20165498 +14.14,1740000,41,20658136 +14.24,1750000,41,20887379 +14.38,1760000,41,21327083 +14.48,1770000,41,21605295 +14.60,1780000,41,22012460 +14.78,1790000,43,22572941 +14.89,1800000,44,22925809 +15.15,1810000,44,23731487 +15.34,1820000,44,24279584 +15.61,1830000,44,25083696 +15.82,1840000,44,25821929 +16.10,1850000,44,26652894 +16.15,1860000,44,26686918 +16.20,1870000,44,26750111 +16.27,1880000,44,26827724 +16.33,1890000,44,26886635 +16.39,1900000,44,26992282 +16.53,1910000,44,27390896 +17.10,1920000,44,28980549 +17.30,1930000,44,29459677 +17.88,1940000,44,30931849 +18.44,1950000,44,32310602 +19.40,1960000,44,34480098 +19.58,1970000,44,34833558 +19.64,1980000,44,34923734 +20.01,1990000,44,36021368 +20.54,2000000,44,37332368 +20.60,2010000,44,37380628 +20.82,2020000,44,37862243 +20.98,2030000,44,38204350 +21.54,2040000,44,39529888 +21.66,2050000,44,39783444 +21.77,2060000,44,39968466 +22.00,2070000,44,40487303 +22.34,2080000,44,41269337 +22.40,2090000,44,41340016 +23.04,2100000,44,42643224 +24.08,2110000,44,44669505 +24.91,2120000,44,46419325 +25.03,2130000,44,46592149 +25.72,2140000,45,48028483 +26.06,2150000,45,48614237 +26.37,2160000,45,49183647 +26.53,2170000,45,49582800 +26.62,2180000,45,49696950 +26.68,2190000,45,49811667 +26.90,2200000,45,50362769 +27.58,2210000,45,51969973 +27.64,2220000,45,52088865 +27.87,2230000,45,52584615 +27.94,2240000,45,52686990 +28.21,2250000,45,53107109 +28.27,2260000,45,53185325 +28.38,2270000,45,53500308 +28.59,2280000,45,54145346 +28.75,2290000,45,54503110 +28.84,2300000,45,54633348 +29.08,2310000,45,55051959 +29.38,2320000,45,55993450 +29.51,2330000,45,56365414 +29.83,2340000,45,57200577 +30.07,2350000,45,57873903 +30.56,2360000,45,58686428 +30.95,2370000,45,59391338 +31.10,2380000,45,59690978 +31.26,2390000,45,60104187 +31.66,2400000,45,60812058 +31.79,2410000,45,61051665 +32.38,2420000,45,62111930 +32.67,2430000,45,62793544 +32.83,2440000,45,63148516 +33.03,2450000,45,63636410 +33.25,2460000,45,64174139 +34.30,2470000,45,65968017 +35.02,2480000,45,67116486 +35.32,2490000,45,67735824 +35.80,2500000,45,68545845 +36.09,2510000,45,69072168 +36.28,2520000,45,69540610 +36.42,2530000,45,69914773 +36.63,2540000,45,70256521 +36.79,2550000,45,70656596 +36.93,2560000,45,70921452 +37.02,2570000,45,71089287 +37.10,2580000,45,71258775 +38.33,2590000,45,73580913 +38.81,2600000,45,74330977 +39.08,2610000,45,74813146 +39.25,2620000,45,75136072 +39.38,2630000,45,75423606 +39.56,2640000,45,75830434 +40.34,2650000,45,77416148 +40.94,2660000,45,78670883 +42.11,2670000,45,80855737 +42.87,2680000,45,82400170 +44.06,2690000,45,84581470 +44.94,2700000,45,86229115 +45.55,2710000,45,87355062 +46.33,2720000,45,88667498 +47.07,2730000,45,89972049 +48.09,2740000,45,91872181 +49.63,2750000,45,94710032 +50.35,2760000,45,95989742 +51.64,2770000,45,98234042 +53.13,2780000,45,101108757 +53.38,2790000,45,101524834 +56.86,2800000,45,105734618 +58.61,2810000,45,107966455 +59.11,2820000,45,108886521 +59.74,2830000,45,109913000 +61.05,2840000,45,111336473 +62.22,2850000,45,112484996 +62.61,2860000,45,113171411 +63.68,2870000,45,114830662 +64.29,2880000,45,115600770 +65.03,2890000,45,116568955 +65.26,2900000,45,117256936 +65.63,2910000,45,117914407 +67.06,2920000,45,119965708 +68.03,2930000,45,121441936 +68.51,2940000,45,122360213 +68.89,2950000,45,123265632 +70.45,2960000,45,125924204 +71.06,2970000,45,126929576 +71.53,2980000,45,127964565 +72.66,2990000,45,129512412 +73.57,3000000,45,130698236 +74.15,3010000,45,131726027 +74.81,3020000,45,132978791 +75.65,3030000,45,134568388 +76.32,3040000,45,135852748 +78.49,3050000,45,138854377 +81.66,3060000,45,142608607 +83.71,3070000,45,145423585 +85.11,3080000,45,147459169 +86.25,3090000,45,149313862 +86.55,3100000,46,150041854 +87.11,3110000,46,151071380 +90.30,3120000,46,154406296 +91.26,3130000,46,155725026 +93.69,3140000,46,158779258 +94.67,3150000,46,160011775 +95.06,3160000,48,160758119 +95.52,3170000,57,161642054 +96.14,3180000,57,163181925 +101.01,3190000,57,167634034 +102.64,3200000,57,169753119 +103.96,3210000,57,171594517 +104.84,3220000,57,172841810 +105.57,3230000,57,174452640 +105.91,3240000,57,174980410 +106.12,3250000,57,175443604 +106.34,3260000,57,176045033 +106.60,3270000,57,176525492 +106.95,3280000,58,177374703 +107.35,3290000,59,178263473 +107.68,3300000,59,179113665 +109.72,3310000,60,182325485 +111.41,3320000,60,184729768 +113.28,3330000,60,187201966 +114.38,3340000,60,188967925 +117.01,3350000,60,192024854 +118.67,3360000,60,194410469 +120.20,3370000,60,196565938 +120.41,3380000,60,197005115 +122.35,3390000,60,199388279 +122.69,3400000,60,199938654 +122.92,3410000,60,200292882 +123.68,3420000,60,201529815 +125.34,3430000,60,204053144 +126.75,3440000,61,206207570 +129.26,3450000,61,209535515 +132.60,3460000,61,213413879 +133.68,3470000,61,215296099 +135.35,3480000,61,217838019 +137.09,3490000,61,221058186 +144.42,3500000,61,227795809 +145.58,3510000,61,229473957 +145.83,3520000,61,229864310 +149.70,3530000,61,233430510 +151.46,3540000,61,236003996 +153.33,3550000,61,238667471 +155.48,3560000,63,241445936 +156.63,3570000,64,243224382 +157.87,3580000,70,245278497 +158.70,3590000,70,246808949 +161.03,3600000,70,249850146 +164.35,3610000,71,254076589 +168.05,3620000,73,258028968 +173.11,3630000,73,263085402 +175.23,3640000,73,265980622 +179.56,3650000,73,269822956 +180.47,3660000,73,271107831 +181.92,3670000,73,273281340 +183.01,3680000,73,274801378 +183.94,3690000,73,276171885 +184.96,3700000,73,277541225 +185.83,3710000,73,279028161 +187.52,3720000,73,281302399 +187.84,3730000,73,282017572 +188.29,3740000,73,282861829 +188.73,3750000,73,283558973 +189.74,3760000,73,284970238 +192.66,3770000,73,287796373 +195.93,3780000,73,290829403 +197.15,3790000,73,292163606 +197.85,3800000,73,293339893 +199.55,3810000,73,295110497 +200.67,3820000,73,296196180 +202.60,3830000,73,298271020 +204.87,3840000,73,300371878 +205.37,3850000,73,301348445 +206.04,3860000,73,302421793 +207.44,3870000,73,304162366 +213.61,3880000,73,308897527 +216.06,3890000,73,311378213 +219.49,3900000,73,314805868 +221.39,3910000,73,316954260 +222.21,3920000,73,318194578 +223.35,3930000,73,319700145 +226.31,3940000,73,322302007 +226.99,3950000,73,323421493 +227.39,3960000,73,324148345 +227.74,3970000,73,324879913 +229.28,3980000,73,326946386 +230.52,3990000,73,328280821 +231.00,4000000,73,329144956 +231.46,4010000,73,330054660 +231.89,4020000,73,330793740 +232.40,4030000,73,331926632 +232.94,4040000,73,333054149 +233.30,4050000,73,334169255 +234.65,4060000,73,335820870 +235.81,4070000,73,337406791 +240.44,4080000,73,341230841 +242.80,4090000,73,343229047 +243.28,4100000,73,344036389 +244.15,4110000,73,345387507 +244.68,4120000,73,346282483 +245.21,4130000,73,347248141 +245.79,4140000,73,348436454 +246.24,4150000,73,349333921 +247.63,4160000,73,351172283 +249.42,4170000,73,353358767 +249.90,4180000,73,354424467 +250.93,4190000,73,355975368 +251.73,4200000,73,357559287 +252.63,4210000,73,359012100 +253.64,4220000,73,360505753 +253.96,4230000,73,361225539 +255.03,4240000,73,363124168 +255.89,4250000,73,364090070 +256.72,4260000,73,365388285 +258.26,4270000,73,367171687 +259.05,4280000,73,368640854 +260.70,4290000,73,370474286 +262.97,4300000,73,372817142 +264.12,4310000,73,374496335 +265.02,4320000,73,376030745 +269.26,4330000,73,379681556 +273.02,4340000,73,382972464 +276.52,4350000,73,386008909 +277.42,4360000,73,387775452 +279.48,4370000,73,389999869 +284.22,4380000,73,393547453 +293.62,4390000,73,399550241 +294.45,4400000,73,401246347 +298.29,4410000,73,404332970 +305.62,4420000,73,409812740 +307.39,4430000,73,411799686 +310.62,4440000,73,415125535 +311.46,4450000,73,416420061 +312.21,4460000,73,417880841 +312.84,4470000,73,419125101 +313.67,4480000,73,420726502 +314.58,4490000,73,422291623 +315.28,4500000,73,423569010 +315.67,4510000,73,424482672 +318.08,4520000,73,426661272 +319.63,4530000,73,429553144 +321.01,4540000,73,432017243 +321.91,4550000,73,433804032 +323.72,4560000,73,437176428 +324.77,4570000,73,439441675 +325.83,4580000,73,441944907 +327.90,4590000,73,444651031 +329.70,4600000,73,447543379 +337.68,4610000,73,454066658 +342.93,4620000,73,458999904 +344.31,4630000,73,461362090 +345.79,4640000,73,464097922 +349.38,4650000,73,468838612 +350.64,4660000,73,470896343 +352.14,4670000,75,472953691 +352.70,4680000,75,473635752 +353.33,4690000,75,474565545 +355.61,4700000,75,477264159 +366.50,4710000,75,486017732 +370.00,4720000,75,490298081 +379.04,4730000,75,496086662 +388.03,4740000,75,502506204 +396.57,4750000,76,508537392 +400.25,4760000,76,512687326 +408.35,4770000,76,519467769 +416.05,4780000,76,526337252 +429.36,4790000,76,534394630 +437.51,4800000,76,540950203 +445.39,4810000,76,548324841 +453.24,4820000,76,553249357 +457.13,4830000,76,556187766 +459.50,4840000,76,559026330 +466.24,4850000,76,563865651 +474.48,4860000,76,569010316 +479.37,4870000,77,572911654 +491.01,4880000,77,580437858 +502.54,4890000,79,588712850 +516.51,4900000,79,598382103 +520.51,4910000,79,602385020 +539.55,4920000,79,614677490 +554.63,4930000,79,624833772 +569.50,4940000,79,634900777 +575.72,4950000,79,641421472 +578.48,4960000,79,644210553 +583.86,4970000,79,649221947 +593.61,4980000,79,657723860 +594.76,4990000,79,659479751 +602.41,5000000,80,665650530 +616.89,5010000,80,675813822 +622.91,5020000,80,681131148 +638.14,5030000,80,691010321 +654.97,5040000,80,703211976 +663.61,5050000,80,709536071 +668.10,5060000,80,712598551 +674.11,5070000,80,717004127 +679.54,5080000,80,722219816 +690.53,5090000,80,730076980 +691.55,5100000,80,731683523 +693.52,5110000,80,734212882 +706.63,5120000,80,744424338 +720.16,5130000,80,754584731 +733.02,5140000,80,762454455 +755.27,5150000,83,775494931 +770.35,5160000,83,784863247 +784.94,5170000,83,794656828 +795.59,5180000,83,801299641 +800.18,5190000,83,805364579 +806.85,5200000,83,810885530 +823.49,5210000,83,820446815 +835.55,5220000,83,828620742 +852.82,5230000,85,838300418 +867.14,5240000,86,846062192 +884.66,5250000,86,857619998 +893.15,5260000,86,863454583 +917.12,5270000,86,875996598 +927.01,5280000,86,882577815 +944.33,5290000,86,895235436 +958.40,5300000,86,904268892 +995.53,5310000,86,920292337 +1019.52,5320000,86,933403236 +1042.94,5330000,86,946020139 +1057.37,5340000,87,956236347 +1065.18,5350000,87,963216220 +1073.62,5360000,88,969065298 +1086.25,5370000,88,978246123 +1094.39,5380000,88,984653861 +1109.90,5390000,88,994722501 +1132.94,5400000,88,1006655254 +1136.82,5410000,88,1011079183 +1148.79,5420000,88,1017368015 +1188.67,5430000,88,1036164382 +1230.96,5440000,88,1055749212 +1254.73,5450000,88,1068072074 +1272.28,5460000,88,1076717472 +1300.39,5470000,88,1091414184 +1301.36,5480000,88,1092638308 +1304.48,5490000,88,1095276044 +1306.64,5500000,88,1097683175 +1311.28,5510000,88,1101584378 +1321.49,5520000,88,1107614872 +1338.55,5530000,88,1115924643 +1347.68,5540000,88,1121937409 +1351.13,5550000,88,1125336707 +1360.02,5560000,88,1130706958 +1362.42,5570000,88,1133090497 +1363.52,5580000,88,1134720627 +1366.87,5590000,88,1137484898 +1368.65,5600000,88,1139524666 +1371.85,5610000,88,1143492629 +1377.79,5620000,88,1148588088 +1385.53,5630000,91,1154966487 +1392.15,5640000,91,1160803563 +1398.62,5650000,91,1167444475 +1401.20,5660000,92,1171282229 +1409.82,5670000,92,1179311685 +1416.17,5680000,92,1185148165 +1421.53,5690000,92,1191097107 +1424.88,5700000,92,1194696713 +1443.30,5710000,92,1207703511 +1457.23,5720000,92,1217522247 +1471.57,5730000,92,1228381397 +1479.32,5740000,92,1235212033 +1508.62,5750000,92,1250737551 +1560.42,5760000,92,1275020451 +1581.55,5770000,92,1286257646 +1610.57,5780000,92,1303791322 +1644.65,5790000,92,1322901172 +1677.81,5800000,92,1340472589 +1697.02,5810000,92,1352666129 +1740.78,5820000,92,1371190395 +1765.72,5830000,92,1384850035 +1777.69,5840000,92,1392622261 +1787.76,5850000,92,1398955612 +1795.12,5860000,92,1404911893 +1805.70,5870000,92,1413100968 +1815.43,5880000,92,1420364693 +1818.83,5890000,93,1423741070 +1825.46,5900000,93,1429257299 +1830.84,5910000,93,1433958617 +1834.36,5920000,93,1436877201 +1842.01,5930000,93,1441925856 +1845.36,5940000,93,1445230475 +1850.93,5950000,93,1449840280 +1857.48,5960000,93,1455602718 +1863.90,5970000,94,1460252730 +1871.27,5980000,94,1465875991 +1883.42,5990000,94,1473238845 +1890.57,6000000,94,1478580929 +1896.82,6010000,94,1483923263 +1903.82,6020000,94,1488853632 +1912.47,6030000,94,1494452307 +1924.93,6040000,94,1501961951 +1937.35,6050000,94,1509179492 +1945.37,6060000,94,1515130979 +1955.53,6070000,94,1522079031 +1961.37,6080000,94,1526284815 +1967.82,6090000,94,1532069460 +1972.08,6100000,95,1536310766 +1977.54,6110000,95,1541070836 +1989.90,6120000,95,1547894240 +1997.21,6130000,95,1553860663 +2004.86,6140000,95,1559860519 +2013.09,6150000,95,1566027440 +2024.33,6160000,95,1572395079 +2032.60,6170000,95,1577883915 +2041.12,6180000,95,1583300750 +2047.48,6190000,95,1588300269 +2053.37,6200000,95,1592866361 +2059.22,6210000,95,1597508581 +2064.53,6220000,95,1601723594 +2072.97,6230000,95,1607367981 +2081.89,6240000,95,1613977069 +2086.20,6250000,95,1617432775 +2091.95,6260000,95,1621605340 +2101.51,6270000,95,1628705980 +2106.65,6280000,95,1633281650 +2115.38,6290000,95,1639091519 +2138.02,6300000,95,1647914733